首页 > 解决方案 > 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)
  }

标签: angularangular-promise

解决方案


这里的关键是Promise.all,它在执行回调之前等待所有的 Promise 解决。

let promises = data.map(d => this.component.getData(d.id));

Promise.all(promises).then(results => {
  console.log(results);
});

推荐阅读