首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RXJS中并行调用2API,调用第三个API?

如何在RXJS中并行调用2API,调用第三个API?
EN

Stack Overflow用户
提问于 2022-02-19 07:30:51
回答 1查看 225关注 0票数 0

我想并行进行两个API调用,然后紧接着进行第三个调用。我能够使用合并映射并行运行API调用,并连续使用concatMap。我想把两者结合起来。

代码语言:javascript
复制
//Call API1 and API2 in Parallel
// from([apiCall(1), apiCall(2)]).pipe(
//   mergeMap(e=>e)
// ).subscribe(x => console.log(x));

//Call API1 and API2 consecutively
// from([apiCall(1), apiCall(2)]).pipe(
//   concatMap(e=>e)
// ).subscribe(x => console.log(x));

//Call API1 and API2 in Parallel and API 3 right after both finishes
from([apiCall(1), apiCall(2), apiCall(3)]).pipe(
  // ????
).subscribe(x => console.log(x));

我怎么能这样做?

=> https://stackblitz.com/edit/playground-rxjs-263xwk这里的Stackblitz游乐场

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-19 07:59:35

您可以对并行请求使用forkJoin

代码语言:javascript
复制
forkJoin([apiCall(1), apiCall(2)]).pipe(
 concatMap((response) => apiCall(3).pipe(
  map((res) => [...response, res])
 ))
).subscribe((response) => {
 response[0]; // result from apiCall(1)
 response[1]; // result from apiCall(2)
 response[2]; // result from apiCall(3)
})
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71183027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档