Javascript 在redux中对史诗进行排序

Javascript 在redux中对史诗进行排序,javascript,redux,rxjs,redux-observable,Javascript,Redux,Rxjs,Redux Observable,我有两部史诗,epicA和epicB B受到背压的影响,因为与它相关联的api调用较慢。(上传) 但是,我需要确保来自B的所有api请求在A之前完成 所以如果请求是 B1…A1…B2…B3… 如果B1在B2激发时还未完成,则分辨率应为 B1、B2、B3、A1 如果B1在B2被激发之前完成,则应选择分辨率 B1、A1、B2、B3 我一开始以为 const bigEpic = epicA.concat(epicB) 这是一个答案,但我认为这没有意义 另一个想法是: const bigEpic =

我有两部史诗,epicA和epicB

B受到背压的影响,因为与它相关联的api调用较慢。(上传)

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

所以如果请求是

B1…A1…B2…B3…

如果B1在B2激发时还未完成,则分辨率应为

B1、B2、B3、A1

如果B1在B2被激发之前完成,则应选择分辨率

B1、A1、B2、B3

我一开始以为

const bigEpic = epicA.concat(epicB)
这是一个答案,但我认为这没有意义

另一个想法是:

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

您可以使用
Observable.merge
对操作进行排序

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),
   )

如果你把你的问题改写成rxjs,而没有redux可观察的术语,你应该会得到更多的答案:)几乎所有redux可观察的问题实际上都是rxjs,这可以归结为rxjs问题吗?因为我声明了一些流程层次结构,所以我还没有找到这样解决两个史诗的模式。