【问题标题】:Trigger Multiple API calls with observable使用 observable 触发多个 API 调用
【发布时间】:2019-06-21 19:59:33
【问题描述】:

如下循环触发多个api调用:

for (let item of items) {
    resource.post(item).pipe(map(() => {
      ...
    }
}

但由于异步行为,上述失败。如何处理?

【问题讨论】:

    标签: angular rxjs observable


    【解决方案1】:

    从您的代码中可以看出使用了 RxJS,其中我们有 Zip 运算符,它将 observable 中的所有值作为数组发出,类似于

    let requestObservables = []
    for (let item of items) {
      requestObservables.push(resource.post(item));
      return zip(...requestObservables).pipe(mergeMap(res => { ....//response actions });
     }
    

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2019-02-09
      • 2011-02-25
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多