angular - 循环调用 Angular2 服务

我编写了一个服务,可以将一些数据发送到 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 参数中。

https://stackoverflow.com/questions/40407298/

相关文章:

python - 在 python 中的 .ttf 字体文件中检索所有字形的边界框和贝塞尔曲线数据

spring-boot - 我如何在 Spring Boot-1.4.1-RELEASE 中制作 i

user-interface - 如何更改 NativeScript 标签的文本

asp.net - 时间的 DataFormatString (ASP.Net)

performance - AWS 资源共享

reactjs - 如何淡入淡出文本

git - 如何直接从 Google Cloud Source Repository 部署到 Goo

php - 如何使用 laravel 5.2 获取 Blade 文件(HTML)中的最后一部分 ur

r - 删除取值小于 n 的列?

python - django 模板中的多个加载标签