Javascript 在redux中对史诗进行排序
我有两部史诗,epicA和epicB B受到背压的影响,因为与它相关联的api调用较慢。(上传) 但是,我需要确保来自B的所有api请求在A之前完成 所以如果请求是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 =
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问题吗?因为我声明了一些流程层次结构,所以我还没有找到这样解决两个史诗的模式。