Best approach for parallel updates to dcc.Store component?

In my application an input component triggers loading a table from a database, when the data is fetched it is added to a dcc.Store component using Patch.

However, often multiple tables have to be loaded and then this callback is triggered multiple times. In this situation, Dash cancels the previous runs of the callback and only the output of the latest callback is added to the dcc.Store component.

I was wondering if there was a simple solution to resolve this. The minimal example below simulates this behavior using a button as input component and simulates loading data by waiting 3 seconds. If you click the button twice in rapid succession, only a single value is added to the dcc.Store.

Minimal example:

from dash import Dash, html, dcc, callback, Output, Input, no_update, Patch
import dash_bootstrap_components as dbc
import random
import time

app = Dash()
app.layout = html.Div(
    [
        dbc.Button("click me", id="button"),
        dcc.Store(id="data", data={}),
        dbc.Textarea(id="ta"),
    ]
)

@callback(Output("data", "data"), Input("button", "n_clicks"))
def update_data(clicks):
    if clicks == 0:
        return no_update

    time.sleep(3)

    result = Patch()
    result[random.randint(0, 10000)] = "test"

    return result


@callback(Output("ta", "value"), Input("data", "data"))
def show_data(data):
    return str(data)


if __name__ == "__main__":
    app.run(debug=True, processes=2, threaded=False)