var arr = [obs1, obs2, obs3];
Observable.forkJoin(...arr).subscribe(function (observableItems) {})
Run Code Online (Sandbox Code Playgroud)
并行运行observable并返回一个数组.
如何顺序运行observable 并返回一个数组.我不想为每个观察者打电话,所以concat()
不适合我.
我想收到相同的最终结果,forkJoin
但顺序运行.
它存在吗?或者我必须编写自己的可观察模式?
Bog*_*luk 14
只需使用concat
然后toArray
:
var arr = [obs1, obs2, obs3];
Observable.concat(...arr).toArray().subscribe(function (observableItems) {})
Run Code Online (Sandbox Code Playgroud)
如果您需要行为,更类似于forkJoin
(仅获取每个observable的最后结果),正如@cartant在评论中提到的那样:last
在连接它们之前,您需要在observables 上应用运算符:
Observable
.concat(...arr.map(o => o.last()))
.toArray()
.subscribe(function (observableItems) {})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2947 次 |
最近记录: |