Rxjs在可观察到的全局变量中分配值

时间:2019-02-18 13:17:14

标签: angular asynchronous rxjs observable

对角度编程和异步编程感到很抱歉,我正在尝试将rxjs中可观察到的值分配给全局变量,如下所示:

public currentUser: User;

this.userService.getAuthUser().subscribe(user => {
  this.currentUser = user;
});
console.log(this.currentUser.name);

我知道rxjs可观察到的是异步的,因此最后一行undefined的值将是console.log(...)。有什么方法可以将值从可观察值赋给全局变量?等待getAuthUser()异步方法完成,然后将其分配给全局变量。

1 个答案:

答案 0 :(得分:3)

尝试下面的代码,仅在有数据时,才会将值分配给user

public currentUser: User;

this.userService.getAuthUser().subscribe(user => {
   this.currentUser = user;
   console.log(this.currentUser.name);
});