我应该如何按特定顺序解决Ngrx异步操作

时间:2018-02-22 04:26:09

标签: ngrx ngrx-effects ngrx-store-4.0

如果我按特定顺序发送3个异步操作(具有相应的效果/ REST服务调用逻辑),我不能保证它们以相同的顺序解析。 因为它们是异步的,所以某些动作比其他动作更快/更慢。它可能会以此结束:

Action 1 Start
Action 1 Complete
Action 2 Start
Action 3 Start
Action 2 Complete
Action 3 Complete

例如,我想触发3个动作来更新数据库中的单个记录。一旦执行并解决了第一个,我需要使用最新的记录器版本号更新存储(用于并发检查)。之后,可以使用最新版本号执行第二个...

我更喜欢这个订单用于我的用例:

   Action 1 Start
   Action 1 Complete (store state is up-to-date)
   Action 2 Start
   Action 2 Complete (store state is up-to-date)
   Action 3 Start
   Action 3 Complete (store state is up-to-date)

我想要一个包含集合异步动作的队列,并且一次只能执行一个动作。解决当前操作后,我们移动下一个操作。

NgRx是否支持动作队列?或者我应该用什么等同的功能来避免竞争条件? 我很感激任何建议/想法。 感谢

0 个答案:

没有答案