-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Describe your context
I have a problem with chained callbacks where the last callback is called twice from one UI change. In the documentation I found this
https://dash.plotly.com/basic-callbacks
where it states under “Dash App With Chained Callbacks” that:
The final callback displays the selected value of each component. If you change the value of the countries RadioItems component, Dash will wait until the value of the cities component is updated before calling the final callback. This prevents your callbacks from being called with inconsistent state like with "America" and "Montréal" .
But when changing between America and Canada in the example on this page I can see that it first updates the text with the country and then the city. So when changing from America to Canada I can see “New York City is a city in Canada” very briefly which according to the documentation should not happen. I also ran this example locally with debugging and verified that the callback updating the text is run twice whenever I change the country.
dash 1.18.0
dash-bootstrap-components 0.10.7
dash-core-components 1.14.0
dash-html-components 1.1.1
dash-renderer 1.8.3
dash-ri-components 2.1.0
dash-table 4.11.1
Describe the bug
Callback A and callback B has resource A as a dependency, callback B is also dependent on the output of callback A.
When changing resource A, then callback A can be run before callback B is finished, and then runs again when callback A finishes since callback A updates another of callback B's input.
Expected behavior
When chaining callbacks, callback B should wait for callback A to finish, if callback B is dependent on the output of callback A.