大家好,我在其中一个React组件中有一个onChange回调函数,它通过这样的map调用多次调度一个动作:
#navbar
我有一个Saga用于"项目"像这样:
onChange: (items, newRatio) => {
items.map( item => {
dispatch(itemActions.updateStart({
...item,
adjusted_ratio: _.round(item.adjusted_ratio + newRatio, 1),
}))
})
}
换句话说,我希望每当调度ITEMS_UPDATE_START操作时,它都会分叉一个新的updateItemDbCrud并继续执行一些API工作,但我注意到只有第一个调度序列通过。我用叉子错吗?
谢谢!
答案 0 :(得分:2)
这是一个已知问题(https://github.com/yelouafi/redux-saga/issues/50),它与承诺的性质及其在Redux Sagas核心中的使用有关。
已在版本0.6 中解决。
如果你想了解更多关于导致这个问题的原因,我建议你阅读上面的github问题,以及Jake Archibalds关于任务,微任务,队列和时间表的文章。
https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/