store.dispatch是Redux同步还是异步

问题描述 投票:67回答:2

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

store.dispatchRedux是同步还是异步?

如果它是异步的,有可能在传播动作之后添加回调,因为React可以实现吗?

javascript reactjs redux single-page-application
2个回答
65
投票

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


47
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.