我需要在不同时间点启动多个sagas的解决方案。我创建了3个不同的传奇,并尝试将它们像数组一样实现到sagaMiddleWare.run()
。但是现在我得到一个错误-runSaga(storeInterface, saga, ...args): saga argument must be a Generator function!
。
我了解为什么会发生此错误,但不知道如何解决?
谢谢!
sagaMiddleWare.run([watchSearchForCash, watchBootlegging, watchGraffiti])
答案 0 :(得分:2)
您可以通过将所有sagas组合成一个包裹起来的(例如rootSaga
:
function * rootSaga() {
yield [
watchSearchForCash,
watchBootlegging,
watchGraffiti
]
}
,然后在rootSaga
内实现新的传奇人物sagaMiddleWare.run(rootSaga)
这就是魔术:)