【发布时间】:2021-06-13 10:45:21
【问题描述】:
如何处理 Angular 中的异步调用。我知道由于异步性质,我的数组未定义,但我该如何解决它
private fetchData(id){
var array = [];
this.httpClient.get('someUrl/'+id).subscribe((organisation)=>{
console.log(organisation.teams); // ['team1','team2','team3']
organisation.teams.forEach((team)=>{
this.httpClient/get('someUrl/'+team).subscribe((teamData)=>{
array.push(teamData);
})
})
console.log(array); // undefined
})
}
【问题讨论】:
-
this.httpClient/get('someUrl/'+team) 代码正确吗?
-
在控制台记录 teamData 时,您在推入数组之前得到了什么?
-
也许您可以添加
if(array) {console.log(array)}并查看它是否返回,因为它只会在有值时调用
标签: javascript angular typescript rxjs5