循环数组和等待服务返回结果角度

时间:2018-07-12 03:38:55

标签: angular

我有一个对象列表,现在我想遍历每个对象进行api调用并等待结果,然后继续下一个对象, 我尝试了以下两种方法:

1。通过这种方式,我可以获得预期的结果,但是不知道如何在转到下一个对象之前等待结果:

this.list.forEach(element => { 
  let id = element.id;
  this.service.getPro(id).then(result => { console.log( result ) });
})

---------------------------------------------

public async getPro(id: any): Promise<any> {
    const response = await this.http.post(this.getPro_url + id).toPromise();
    return response.json();
}

2。通过这种方式,我的代码等待循环,但是我不知道如何访问__zone_symbol__value? :

this.list.forEach(element => { 
      let id = element.id;
      let result = this.service.getPro(id); 
      console.log(result);
})

结果:

ZoneAwarePromise {__zone_symbol__state: null, __zone_symbol__value: 
                                    Array(0)}
                      __zone_symbol__state:true
                      __zone_symbol__value: "MyResult"
                  __proto__:Object

那我该怎么办?

0 个答案:

没有答案