在redux

时间:2017-08-16 22:57:55

标签: javascript redux rxjs redux-observable

我有两部史诗,epicA和epicB。

B受到背压,因为与之相关的api调用较慢。 (上载)

但是,我需要确保来自B的所有api请求在A之前完成。

所以如果请求是

B1....A1....B2...B3...

如果B2在B2发射时尚未完成,则分辨率应为

B1, B2, B3, A1

如果B1在B2被触发之前完成,则分辨率应为

B1, A1, B2, B3

我一开始认为

const bigEpic = epicA.concat(epicB)

将是一个答案,但我认为这没有意义

另一个想法:

const bigEpic = action$ => epicA(action$).concat(epicB(action$))

1 个答案:

答案 0 :(得分:1)

您可以使用const fetchFirst = () => (action, store) => Observable.ajax('/first'); const fetchSecond = () => (action, store) => Observable.ajax('/second'); const fetchBoth = () => (action, store) => Observable.merge( fetchFirst()(action, store), fetchSecond()(action, store), ) 进行排序操作。

interval