search

Home  >  Q&A  >  body text

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

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

巴扎黑巴扎黑2895 days ago361

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 17:17:14

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

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

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 17:17:14

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

    reply
    0
  • Cancelreply