我有一个带有产品列表组件的 Angular 4 应用,它显示了产品的名称。从服务器API检索产品的名称。有1000种产品必须在几个ajax调用AjaxObservable
中检索。每次通话都返回200个产品,因此必须拨打5个电话才能退回所有产品。
如何使用AjaxObservable
实现上述目标?我应该合并所有的observable还是仅创建一个并允许UI订阅?
for (var i = 0; i < 5; i++) {
var source = Rx.Observable.ajax({ url: 'products', method: 'GET' });
}
答案 0 :(得分:1)
https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/combinelatest.md
let obs1: Observable<any> = Observable.of('val1', 'val2');
let obs2: Observable<any> = Observable.of('val3', 'val4');
Rx.Observable.combineLatest(obs1, obs2).subscribe(values => {
console.log(values) //values is array - this statement will print [val2, val4]
});
你也可以看一下这个答案:Rxjs: Observable.combineLatest vs Observable.forkJoin