【发布时间】:2020-07-16 14:40:49
【问题描述】:
我需要从我的 Angular 应用程序并行调用多个 API 请求,并且我需要分别获取每个响应(需要为每个响应执行一些不同的操作),并且我还需要跟踪所有请求何时完成执行
例如,我有一个请求数组 arr1[request1,request2,request3,request4],每个请求将花费不同的时间来获得响应。所以我需要根据不同的操作,如 actn1、actn2、actn3..etc到响应。我需要以 FCFS 方式调用每个操作。某些请求将比其他请求更快地完成执行,因此每当我得到每个请求的响应时,我都需要调用相应的操作,最后在获得所有响应后,我还需要调用 finalAction。
通过使用 forkJoin 我能够执行我的 finalAction(在完成所有请求执行后这必须工作)但我不知道每当响应来自服务器时我将如何执行每个响应操作
【问题讨论】:
-
尝试使用
combineLatest()确保每个可观察对象发出至少1个值:learnrxjs.io/learn-rxjs/operators/combination/combinelatest -
由于我是 Angular 新手,你能用这个 combineLatest() 为上述示例提供一个基本代码
-
我已经使用
tappipeable 运算符发布了答案。 -
好的,谢谢,我试试这个