Angular 触发具有可观察性的多个API调用

Angular 触发具有可观察性的多个API调用,angular,rxjs,observable,Angular,Rxjs,Observable,在循环中触发多个api调用,如下所示: for (let item of items) { resource.post(item).pipe(map(() => { ... } } 但是上面的一个由于异步行为而失败。如何处理这个问题?从您的代码中可以理解使用了RxJS,其中我们使用了Zip操作符,它以数组的形式从observable发出所有值,比如 let requestObservables = [] for (let item of items) {

在循环中触发多个api调用,如下所示:

for (let item of items) {
    resource.post(item).pipe(map(() => {
      ...
    }
}

但是上面的一个由于异步行为而失败。如何处理这个问题?

从您的代码中可以理解使用了RxJS,其中我们使用了Zip操作符,它以数组的形式从observable发出所有值,比如

let requestObservables = []
for (let item of items) {
  requestObservables.push(resource.post(item));
  return zip(...requestObservables).pipe(mergeMap(res => { ....//response actions });
 }

从您的代码可以理解使用了RxJS,其中我们使用了Zip操作符,它以数组的形式从observable发出所有值,比如

let requestObservables = []
for (let item of items) {
  requestObservables.push(resource.post(item));
  return zip(...requestObservables).pipe(mergeMap(res => { ....//response actions });
 }