代码之家  ›  专栏  ›  技术社区  ›  hades

rxjs将可观测值赋给全局变量

  •  1
  • hades  · 技术社区  · 5 年前

    抱歉,刚开始使用角度和异步编程,我试图将rxjs observate的值赋给全局变量,如下所示:

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

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

    1 回复  |  直到 5 年前
        1
  •  3
  •   Balaj Khan Prajwal Shrestha    5 年前

    请尝试下面的代码,这将为 user 只有当数据可用时:

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