我有一些代码看起来像
//service.ts
addProduct(productId) {
this.http.post('someUrl', ReqData).map(json).subscribe(doStuff);
}
//component.ts
addAllproducts(productsIds) {
productIds.forEach(productId => service.addProduct(productId);
}
我想要的是能够在调用下一个 productId 之前等待每个调用完成,而不使用 window.setTimeout
..
原文由 AngularDebutant 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先从您的服务方法返回可观察到的:
并使用递归函数并在数组中的每个项目的
subscribe
回调中调用它: