Отправка действия после завершения всех действий в Redux Observable - PullRequest
0 голосов
/ 28 апреля 2019

Не могли бы вы дать мне совет, как дождаться нескольких отправок Redux, а затем выполнить какое-либо действие?Обычный сценарий - инициализация приложения (например, дождитесь FETCH_SOMETHING_SUCCESS и FETCH_ELSE_SUCCESS, а затем отправьте APP_INIT_SUCCESS).

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

  export const appInitSuccessEpic = (action$) =>
  action$.pipe(
    whenAllDispatched('FETCH_ONE', 'FETCH_SECOND'),
    map(() => { type: 'APP_INIT_SUCCESS' })
  )

Спасибо:)

1 Ответ

0 голосов
/ 02 мая 2019

вы можете использовать zip оператор.

После того, как все наблюдаемые излучают, излучают значения в виде массива

import { ofType } from 'redux-observable';

export const appInitSuccessEpic = (action$) => 
 zip(
    action$.pipe(ofType("FETCH_THIS_SUCCESS")),
    action$.pipe(ofType("FETCH_ELSE_SUCCESS"))
  )
 .pipe(mapTo({ type: 'APP_INIT_SUCCESS' }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...