在一个循环中触发多个api调用,如下所示:
for (let item of items) {
resource.post(item).pipe(map(() => {
...
}
}
但是以上操作由于异步行为而失败。该如何处理?
答案 0 :(得分:0)
从您的代码中可以理解,使用了RxJS,其中有一个Zip运算符,它以可观察的数组的形式发出所有值,就像
let requestObservables = []
for (let item of items) {
requestObservables.push(resource.post(item));
return zip(...requestObservables).pipe(mergeMap(res => { ....//response actions });
}