在Redux Observable

时间:2019-04-28 12:56:10

标签: rxjs redux-observable

能否请您给我一个建议,如何等待多个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 :(得分:0)

您可以使用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' }))