2

如果我以特定顺序调度 3 个异步操作(具有相应的效果/RESTservice 调用逻辑),我不能保证它们以相同的顺序解决。因为,它们是异步的,所以某些操作比其他操作更快/更慢。最终可能会这样:

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 是否支持动作队列?或我应该使用任何等效功能来避免竞争条件?我将不胜感激任何建议/想法。谢谢

4

0 回答 0