小编Tom*_*nen的帖子

按顺序执行可观察量并发出一个结果

我有一个可观察的数组,我正在并行执行:

let observables: Observable<any>[]

Observable.forkJoin(observables) 
Run Code Online (Sandbox Code Playgroud)

这很好用,但是,我需要按顺序执行可观察数组,如果最后一个observable已经完成,则只发出一个结果.那是我试图使用的时候

Observable.concat(observables)
Run Code Online (Sandbox Code Playgroud)

但是这会返回多个结果,而不仅仅是我在使用forkJoin时得到的一个结果.所以我实际上需要两者的结合.

我尝试使用reduce功能按顺序执行它们,如下所示:

return observables.reduce((previous, current) => {
  return previous.flatMap(() => current);
}, Observable.empty());
Run Code Online (Sandbox Code Playgroud)

但是使用这个解决方案,可观察量根本不会被执行.

sequential observable rxjs

10
推荐指数
3
解决办法
1616
查看次数

标签 统计

observable ×1

rxjs ×1

sequential ×1