Как бы вы абстрагировали этот паттерн с помощью саксофона? (необходимые действия) - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь реализовать шаблон многократного использования в 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»)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...