angular - Angular 4,多个api调用并等待结果
问题描述
我正在循环调用服务 api,然后我想等待所有结果。我不确定如何在这里使用 Observable.forkJoin。
零件:
for(let i=0;i<data.length;i++{
this.component.getData(data[i].id).then((result: any) => {
})
}
服务:
getData(parameters:any): Promise<Object> {
return this.query(parameters)
}
解决方案
这里的关键是Promise.all
,它在执行回调之前等待所有的 Promise 解决。
let promises = data.map(d => this.component.getData(d.id));
Promise.all(promises).then(results => {
console.log(results);
});
推荐阅读
- mysql - 如何在一行中存储多个ID?
- hive - 如何使用 PySpark 更新 hive 表中的记录?
- amazon-web-services - AWS 托管集群(不是 EKS)上的 Kubernetes:基础设施复制逻辑在哪里?
- javascript - React 高阶组件:添加实例方法的正确方法
- concurrency - 如何处理对 Citrus 服务器上不同 URL 的并行请求?
- python - 每当我尝试将数字数据写入我的 .txt 文件时,它都会引发错误
- c - 使用cantools生成的C文件
- angular - 等待多个观察者完成
- c - 重置 TCP KeepAlive 计时器
- bash - 使用大文件在 bash 中解析文件和日期操作