Я читаю документацию redux-saga, и я заметил, что в учебнике для начинающих *1001* 1.1 мы запускаем все наши саги с помощью корневой саги, в которой используется комбинатор эффектов all
:
// 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
.
Позже в документации, в 2.1 Использование Saga Helpers , я вижу, что они также говорят о параллельном сбрасывании саг, но это делается без использования комбинатора эффектов all
,скорее просто путем объединения нескольких вызовов takeEvery
:
// use them in parallel
export default function* rootSaga() {
yield takeEvery('FETCH_USERS', fetchUsers)
yield takeEvery('CREATE_USER', createUser)
}
Если мы сделаем вид, что helloSaga()
также использовал помощника takeEvery
для внутреннего использования, в чем будет разница между использованием all
и вызовом takeEvery
дважды быть?