我编写了一个服务,可以将一些数据发送到 API 请求。但是,我需要多次调用它,具体取决于用户单击的复选框数量。做这个的最好方式是什么?我正在研究 Observables forkJoin
方法,但不确定如何实现它。
这是我目前调用服务的方式(没有循环):
this.myService.update(id, data).subscribe(
data => {
console.log('Data: ', data);
},
error => { console.log('Error: ', error }
);
最佳答案
好吧,我找到了一种方法:
let observables = new Array();
for( let id of ids ) {
observables.push(this.myService.update(id, data));
}
Observable.forkJoin(observables).subscribe(
res => console.log(res),
error => console.log('Error: ', error)
);
基本上我制作了一个需要并行执行的服务数组,然后将其传递给 forkJoin
。当所有的 observable 都完成时,响应被传递到订阅方法的 res
参数中。
关于angular - 循环调用 Angular2 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40407298/