Is store.dispatch in Redux synchronous or asynchronous

JavascriptReactjsReduxSingle Page-Application

Javascript Problem Overview


I realize this is a basic question but I had no luck finding the answer elsewhere.

Is store.dispatch synchronous or asynchronous in Redux ?

In case it is asynchronous is there a possibility to add a callback after the action has been propagated as it is possible with React ?

Javascript Solutions


Solution 1 - Javascript

AFAIK, dispatching action is synchronous. In case if you are willing to address the asynchronous call, you can use the thunk-middleware in redux, where dispatch is provided as a callback function which you can invoke as per your convenience. For more info, checkout this answer on SO by Author itself: https://stackoverflow.com/questions/35411423/how-to-dispatch-a-redux-action-with-a-timeout/35415559#35415559

Solution 2 - Javascript

Nobody knows better than the code itself. =) As you can see dispatch is absolutely synchronous. The only warning here is that store enhancers can (and do) substitute dispatch method. For example, take a look at applyMiddleware enhancer, it lets you jack middlewares in by replacing default dispatch method with its own implementation. Though I never saw any Redux enhancer which would actually remove synchronous nature of dispatch.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionps-auxView Question on Stackoverflow
Solution 1 - JavascriptA GuptaView Answer on Stackoverflow
Solution 2 - JavascriptfkulikovView Answer on Stackoverflow