Как я могу сделать действие после ответа от сервера? - PullRequest
0 голосов
/ 26 июня 2019

Я создаю приложение, используя React Native, Redux и RxJS.Здесь вы можете найти мой эпический код:

const MyEpic = (action$, store) =>
action$.pipe(
  ofType(ActionCreators.ACTION_ONE.type),
  mergeMap(action =>
        api.postRegister(action.payload)
        .map(res => ActionCreators.ACTION_TWO.create(res))
        .catch(err => Observable.of(ActionCreators.ACTION_FAILED.create(err)))
));

У меня есть некоторые проблемы с асинхронными действиями.Я получаю данные из API, ACTION_TWO меняет состояние.То, что я хочу получить, это сделать еще одно действие, давайте вызовем идентификатор ACTION_THREE после получения ответа от API и после состояния обновления ACTION_TWO.У вас есть какие-нибудь подсказки, как я могу это сделать?Большое спасибо!:)

1 Ответ

0 голосов
/ 26 июня 2019

Что-то вроде:

const myEpic = actions$ => actions$.pipe(
  ofType(ActionCreators.ACTION_TWO.type),
  concatMap(action => api.makeSomeRequest()), // assuming Observable is returned from "api" method
  map(response => /* create ACTION_THREE */)
)

Это сделает запрос API каждый раз, когда ACTION_TWO отправляется и возвращает ACTION_THREE после него

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