我正在阅读redux-saga文档,并且我注意到在1.1 Beginner Tutorial中,我们使用了all
效果组合器的根传奇开始了所有的传奇故事:< / p>
// notice how we now only export the rootSaga
// single entry point to start all Sagas at once
export default function* rootSaga() {
yield all([
helloSaga(),
watchIncrementAsync()
])
}
这反过来启动了helloSaga(不执行任何操作)以及watchIncrementAsync()
传奇,该传奇利用takeEvery
助手来处理每个INCREMENT_ASYNC
动作。 / p>
稍后在2.1 Using Saga Helpers的文档中,我看到他们还讨论了并行启动sagas的问题,但这是在没有利用all
效果组合器的情况下完成的,而只是简单地通过组合多个takeEvery
个呼叫:
// use them in parallel
export default function* rootSaga() {
yield takeEvery('FETCH_USERS', fetchUsers)
yield takeEvery('CREATE_USER', createUser)
}
如果我们假装helloSaga()
在内部也使用了takeEvery
助手,那么使用all
和两次调用takeEvery
之间的区别是什么?