var arr = [obs1, obs2, obs3];
Observable.forkJoin(...arr).subscribe(function (observableItems) {})
并行运行observable并返回一个数组。
如何顺序运行observable 和返回一个数组。我不想为每个observable调用,因此concat()
不适合我。
我想收到与forkJoin
相同的最终结果,但是按顺序运行。
它存在吗?或者我是否必须编写自己的可观察模式?
答案 0 :(得分:11)
只需使用readyRead
,然后使用concat
:
toArray
如果你需要行为,更类似于var arr = [obs1, obs2, obs3];
Observable.concat(...arr).toArray().subscribe(function (observableItems) {})
(只获得每个observable的最后结果),正如@cartant在评论中提到的那样:在连接它们之前,你需要在observables上应用forkJoin
运算符:
last