store.dispatch是Redux同步还是异步

时间:2017-04-07 10:51:31

标签: javascript reactjs redux single-page-application

我意识到这是一个基本问题,但我没有在其他地方找到答案。

store.dispatch中的Redux是同步还是异步?

如果它是异步的,可以在传播动作之后添加回调,因为React可能会这样做吗?

2 个答案:

答案 0 :(得分:57)

AFAIK,调度动作是同步的。如果您愿意解决异步调用,可以使用redux中的thunk-middleware,其中dispatch作为回调函数提供,您可以根据自己的方便调用它。有关详细信息,请通过作者本身查看此答案:How to dispatch a Redux action with a timeout?

答案 1 :(得分:41)

没人知道比code itself更好。 =)正如您所看到的,dispatch绝对是同步的。这里唯一的警告是商店enhancers可以(并且做)替换dispatch方法。例如,看看at applyMiddleware enhancer,它可以让你通过用它自己的实现替换默认的dispatch方法来插入中间件。虽然我从未见过任何Redux enhancer,它实际上会删除dispatch的同步特性。