使用 rxjs 调用多个 API 并将其 return 作为可观察的
Call multiple API using rxjs and return it as obserable
我有 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 响应。
任何人都可以帮助我。
首先应该有一个 switchMap
用于 return 内部 forkJoin
。如果您还想 return a
和 b
响应,您可以只使用 of
原始结果:
return forkJoin([a,b]).pipe(
switchMap(result => {
return forkJoin([c(result[0]),d(result[0], result[1]), of(result)]
})
})
现在你得到了所有 3 个结果的数组,最后一个是第一个响应的数组
我有 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 响应。 任何人都可以帮助我。
首先应该有一个 switchMap
用于 return 内部 forkJoin
。如果您还想 return a
和 b
响应,您可以只使用 of
原始结果:
return forkJoin([a,b]).pipe(
switchMap(result => {
return forkJoin([c(result[0]),d(result[0], result[1]), of(result)]
})
})
现在你得到了所有 3 个结果的数组,最后一个是第一个响应的数组