Angular Http get服务无法将结果分配给变量
使用以下服务将result设置为this.temp,console log在订阅内部时显示结果,但在订阅外部时返回undefinedAngular Http get服务无法将结果分配给变量,angular,http,Angular,Http,使用以下服务将result设置为this.temp,console log在订阅内部时显示结果,但在订阅外部时返回undefined 1) this.http.get('../../assets/students.json').subscribe((data)=>{ 2) this.temp = data; 3) console.log(data);//shows result 4) console.log(this.temp);//shows resu
1) this.http.get('../../assets/students.json').subscribe((data)=>{
2) this.temp = data;
3) console.log(data);//shows result
4) console.log(this.temp);//shows result
5) })
6) console.log(this.temp);//undefined
但在控制台行中,先输出6,然后输出3和4,这是因为angular中的http调用是通过observables实现的,observables将在将来的某个时间点评估asycn。现在,如果您想对数据或This.temp执行某些操作,则必须在subscribe调用中执行。get是异步的,因此调用顺序是1,6, 2, 3, 4. 编辑:请参阅。的可能副本的可能副本