【问题标题】:Iterate API response and mergeMap the subsequent requests迭代 API 响应并合并映射后续请求
【发布时间】:2020-05-14 22:34:19
【问题描述】:

我正在调用一个提供对象数组的 API,对对象发出后续请求并返回所有可观察对象。我有以下代码。

test1() {
  let cForm = {};
  let data = [];
  let forkJoinArray = [];
  return this.http.get < any > ("http://test/c")
    .pipe(
      map(item => {
        return item
      }),
      mergeMap(data => {
        data = data.items;
        data.forEach(item => {
          const cF = this.http.get < CForm > ("http://test/cForm");
          const p = this.http.get < P > ("http://test/p");
          forkJoinArray.push(forkJoin([ of (item), cF, p]));
        });
        return forkJoinArray;
      })
    )
}

ts 文件

this.Service.test1().subscribe(item => {});

在 ts 中我想订阅,但现在我看到我得到了一个 Observables 列表。如何迭代可观察对象数组并将其中的数据分配给变量。请让我知道如何处理这种情况。

【问题讨论】:

    标签: angular typescript rxjs


    【解决方案1】:

    因为forkJoinArray 是您需要处理它的一组可观察对象,但取决于您要接收的数据结构。

    将发出每个 forkJoin 的组

    return merge(...forkJoinArray);
    

    将所有数据一起发出

    return forkJoin(...forkJoinArray);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 2014-03-27
      • 2018-04-14
      • 2020-07-22
      • 2011-01-10
      相关资源
      最近更新 更多