Я пытаюсь реализовать шаблон многократного использования в redux-saga, который обрабатывает такую концепцию, как «необходимые действия» для пользователя.
Представьте, что у вас есть приложение с пользователями, и у каждого пользователя естьпрофиль.Чтобы использовать приложение, пользователь ДОЛЖЕН выполнить некоторые действия, такие как выбор псевдонима.
Если у пользователя, например, нет псевдонима, вызов API / profile вернет 400 BAD_REQUEST.
Я обрабатываю ошибочные запросы в саге:
function* handle() {
try {
// original req
} catch (e) {
// put the failed request in a queue
}
}
Теперь я хотел бы сделать что-то вроде этого:
function* doRequiredAction(action) {
yield put(action.requiredAction)
// how do I know when required action is fullfilled?
}
Когда пользователь успешно выполнит требуемое действие, я бы хотел вызвать неудачные саги в очереди.
Меня беспокоит: как узнать, когда пользователь завершил действие, не выполняя полное действие (в этом случае это будет похоже на «COMPLETE_USER_PROFILE»)?