如何在angular输出中通过"get"获取信息?

How in the angular output information obtained through the "get"?

如何将接收到的数据写入tmp?通过return,函数返回promise对象,在函数tmp中是不可见的

tmp: string;

constructor(private http: Http) {
  this.tmp = "load";
  this.GetUsers();
}

ngOnInit() {
  setTimeout(console.log("Hello"), 2000);
}
GetUsers() {
   this.http.get('http://localhost:1337/api/users')
    .toPromise()
     .then(function(response) {
       this.tmp = "success"
     })
    .catch(this.handleError);

此外,setTimeout 不起作用。也就是说,它只有效一次。

constructor(private http: Http) {
  this.tmp = "load";
  this.GetUsers();
}

ngOnInit() {
}
GetUsers() {
  setTimeout(console.log("Hello"), 2000);
}

试试这个:-

为来自 @angular/http

的响应添加导入
this.http.get('http://localhost:1337/api/users') 
      .toPromise() 
      .then((response:Response)=> { this.tmp = response.json() }) 
      .catch(this.handleError);

您在其中编写 setTimeout()ngOnInit() 生命周期挂钩将在构造函数之后仅执行一次。如果编写的代码在组件中,那么它会在每次创建组件对象时执行,但如果它在服务中,那么它会在您提供服务时执行一次,因为服务对象是单例对象