Я бы хотел запустить параллельные эффекты с redux-сагой, не бросая, если произойдет ошибка.
Использование эффекта all
от redux-saga, если:
Один из эффектов был отклонен до завершения всех эффектов: выдает ошибку отклонения внутри генератора.
По сути, я хочу дождаться окончания всех эффектов, чтобы вызвать действие. Я хочу сделать что-то подобное, но заменив all
чем-то другим:
export function* getSaga() {
yield put(request());
try {
yield all([fetchItems1, fetchItems2, fetchItems3]);
// Wait for all to resolve or get rejected, then dispatch succeed.
yield put(actions.succeeded());
} catch (e) {
// This should never happen.
}
}
Я пытался использовать fork
, но он отменяет все другие задачи, если одна из них не удалась. И я попытался использовать spawn
, но он не ждет, пока задачи завершат отправку succeeded
.
При использовании обычного JS есть шаблон под названием отражает , который я хотел бы применить к саге.
Как мы можем этого достичь?
Спасибо