Http Get服务无法将结果分配给变量

时间:2019-06-07 19:04:50

标签: angular http

使用以下服务将结果设置为this.temp,控制台日志在订阅内部时显示结果,但在订阅外部时返回未定义。

   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

1 个答案:

答案 0 :(得分:1)

发生这种情况是因为通过可观测对象实现了angular中的http调用,该对象将在以后的某个时间点评估asycn。现在,如果您要对数据或this.temp做一些操作,则必须在订阅调用中进行。