对不起,对Angular和Async编程的新手,我试图从可观察到的全局变量中分配RXJS的值,类似的内容:
public currentUser: User;
this.userService.getAuthUser().subscribe(user => {
this.currentUser = user;
});
console.log(this.currentUser.name);
我知道RXJS可观察到的是异步的,因此在最后一行的console.log(...)
上值为undefined
。有什么办法可以分配从可观察到全局变量的价值?等待getAuthUser()
async方法完成的内容,然后将其分配给全局变量。
尝试下面的代码仅在可用数据时将值分配给user
:
public currentUser: User;
this.userService.getAuthUser().subscribe(user => {
this.currentUser = user;
console.log(this.currentUser.name);
});