Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在循环中运行下一个服务调用之前,如何等待对控制器的每个服务调用?_Javascript_Angular_Typescript_Callback - Fatal编程技术网

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?根据您的评论编辑我的答案。