【问题标题】:Call multiple API using rxjs and return it as obserable使用 rxjs 调用多个 API 并将其作为 observable 返回
【发布时间】:2021-12-10 10:28:23
【问题描述】:

我有 4 个 API,分别是 A、B、C、D,我想将所有 4 个 API 的数据组合成一个可观察的数据。

我想使用forkJoin([A,B]) 并将forkJoin 的响应用于forkJoin([C,D])。 示例:

return forJoin([a,b]).pipe(map result=>{
 return forkJoin([c(a.result),d(a.result,b.result)]);
})

问题是我只得到 C 和 D API 响应。 任何人都可以帮助我。

【问题讨论】:

    标签: angular rxjs


    【解决方案1】:

    首先应该有一个switchMap 用于返回内部forkJoin。如果您还想返回 ab 响应,则可以使用 of 原始结果:

    return forkJoin([a,b]).pipe(
      switchMap(result => {
        return forkJoin([c(result[0]),d(result[0], result[1]), of(result)]
      })
    })
    

    现在你得到一个包含所有 3 个结果的数组,最后一个是第一个响应的数组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多