在redux中dispatch异步action,并且在异步action完成之后再dispatch另一个action,如何实现

actionA可以从服务器拿到数据dataA,actionB可以从服务器拿到dataB。但是actionB依赖dataA,向服务器发送post请求的参数里需要用到dataA的数据。所以我在dispatch actionB之前,需要先检查STORE中是否已经存在dataA,如果不存在则需要先diapatch actionA,并且在actionA完成之后再dispatch actionB。
请问这个如何实现,我想了好久都没想到一个好的解决办法

阅读 8.5k
2 个回答

我们在 Redux 应用中也遇到了跟你一样的需求,所以经过各种尝试和摸索之后抽象出了一个 Redux 中间件。

https://github.com/jasonslyvia/redux-sequence-action ,当然要完整实现你的需求,负责处理 ajax 的中间件需要返回 Promise。我们自己设计了请求中间件,不过暂时还没有开源。

在actionB的入口中传入dataA,里面判断有dataA有值才干嘛干嘛
actionB的参数从页面的state中传入

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题