Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Http get服务无法将结果分配给变量_Angular_Http - Fatal编程技术网

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

Angular 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

使用以下服务将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 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. 编辑:请参阅。的可能副本的可能副本