我正在尝试按顺序产生一系列传奇效果。 这个想法是yield all([call(foo), call(bar])
将并行运行call(foo)
和call(bar)
(或至少以伪并行方式(。
但是,我希望我的 sagas 按顺序运行,这意味着我想等待foo
结束,然后再进行bar
(这样我就可以取消该过程(。
这个调用数组是动态生成的,所以我可以硬写一系列yield
。在这种情况下,正确的语法是什么?
redux-saga 文档有一个测序 saga 的示例。
如果您有一系列调用,只需在您的传奇中生成这些调用即可。例如:
// Some array containing call objects
let calls = [...];
// Call each in order they are present in the array
for (let c of calls) {
yield c
}