我正在Angular 2中编写一个应用程序,我想执行几个http请求并在响应上运行一个函数.
在Angular 1中,我会写类似的东西 $q.all([$http.get(...), $http.get(...), ...]).then(doSomethingWithResponses);
但Angular 2返回RxJS Observables,经过一堆阅读后,我仍然无法弄清楚如何得到几个http请求的响应.怎么能这样呢?
pix*_*its 32
正如@Eric Martinez指出的,有forkJoin.forkJoin并行运行所有可观察序列并收集它们的最后元素.
Rx.Observable.forkJoin([a,b]).subscribe(t=> {
var firstResult = t[0];
var secondResult = t[1];
});
Run Code Online (Sandbox Code Playgroud)
我不确定你是否想要使用forkJoin/zip,特别是考虑combineLatest更容易理解并且会在每个子流事件上发出,而forkJoin基本上每个子流上的样本都已经发出.
当你想要在路上组合多项目Observable时,这可能会让你感到困惑.
| 归档时间: |
|
| 查看次数: |
18650 次 |
| 最近记录: |