Javascript 在循环中运行下一个服务调用之前,如何等待对控制器的每个服务调用?
我打电话给一个像这样的角度服务Javascript 在循环中运行下一个服务调用之前,如何等待对控制器的每个服务调用?,javascript,angular,typescript,callback,Javascript,Angular,Typescript,Callback,我打电话给一个像这样的角度服务 this.webService.add(id) .订阅(结果=>{ //做点什么 },错误=>{ //处理错误 }); //服务 添加(id:编号):可观察{ 返回this.http.post(this.baseUrl+'webservice/add/'+id,null); }您正在查找 该操作符获取多个观测值,并在所有源观测值完成后立即返回一个新的观测值。你会像这样使用它: const serviceCalls = yourArray.map(id =>
this.webService.add(id)
.订阅(结果=>{
//做点什么
},错误=>{
//处理错误
});
//服务
添加(id:编号):可观察<任何>{
返回this.http.post(this.baseUrl+'webservice/add/'+id,null);
}
您正在查找
该操作符获取多个观测值,并在所有源观测值完成后立即返回一个新的观测值。你会像这样使用它:
const serviceCalls = yourArray.map(id => this.webservice.add(id));
forkJoin(... serviceCalls)
.subscribe((results) => results.forEach( //do something with your results ))
这回答了你的问题吗?看看rxjs的
forkJoin
和类似的功能。当我只想调用一个服务,但多次调用ID数组时,我将如何使用forkJoin?根据您的评论编辑我的答案。