angular - Rxjs 将 observable 中的值赋给全局变量

标签 angular asynchronous rxjs observable

对不起, Angular 和异步编程的新手,我正在尝试将 rxjs observable 中的值分配给全局变量,如下所示:

public currentUser: User;

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

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

最佳答案

试试下面的代码,这会将值赋给 user仅当数据可用时:

public currentUser: User;

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

关于angular - Rxjs 将 observable 中的值赋给全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54748211/

相关文章:

rxjs - ReactiveX/Rx.NET 中 RxJS switchMap 的等效项

angular - 有条件地应用管道运算符

javascript - Angular 2,带 setter 的 @Input 的行为是否与不带 setter 的 @Input 不同?

c# - 异步/等待 - 等待未按预期举行

javascript - 使用 RxJs Observable 包装基于 Promise 的 JavaScript HTTP 客户端

c++ - boost asio 异步写入处理程序调用自身

c# - ASP.NET 异步标签更新

angular - 如何在导航到下一条路线之前等待动画结束?

javascript - 如何在 Angular 上使用纯 JavaScript 库 hashids.js?

c# - 将 Angular 4 添加到 ASP.NET Core 项目