【问题标题】:How to merge multiple RxJS AjaxObservable calls to make a single observable?如何合并多个 RxJS AjaxObservable 调用以生成单个 observable?
【发布时间】:2017-07-04 04:05:53
【问题描述】:

我有一个 Angular 4 应用程序,其中包含一个显示产品名称的 产品列表组件。产品名称从服务器 API 中检索。有 1000 种产品需要在几个 ajax 调用AjaxObservable 中检索。每次调用返回 200 个产品,因此必须拨打 5 次才能返回所有产品。

如何使用AjaxObservable 实现上述目标?我应该合并所有的 observables 还是只创建一个并允许 UI 订阅?

for (var i = 0; i < 5; i++) {
   var source = Rx.Observable.ajax({ url: 'products', method: 'GET' });
}

【问题讨论】:

    标签: ajax angular rxjs


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2020-12-29
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      相关资源
      最近更新 更多