typescript Angular14:变量在subscribe内赋值,在subscribe外为空,.为什么?我错过了什么?

ovfsdjhp  于 2023-03-24  发布在  TypeScript
关注(0)|答案(1)|浏览(152)

我在typescript类的顶部示例化了一个变量,如下所示:

UserTimeRegistration: TimeRegistration[];

我有一个这样的方法调用一个API:

getUserInfo(UserID: string): Observable<TimeRegistration[]> {
    return this.http
      .get<TimeRegistration[]>(this.apiURL + '/TimeRegistrations/' + UserID)
      .pipe(retry(1), catchError(this.handleError));
  }

and I subscribe订阅to it like this:

this.getUserInfo(this.smartTimeUser.UserID).subscribe((data: TimeRegistration[]) => {this.UserTimeRegistration = data;})

如果我在订阅里面看我的变量,我可以看到值被赋值了,但是一旦我移到外面,它就是空的。我可能错过了一些基本的东西,但是我已经玩了一个小时没有得到重点。。所以我希望这里有一个Maven摇了摇头,扯掉他的头发,嘲笑我的愚蠢,然后才走到他/她的键盘上,输入我做错了什么,我应该怎样做,为什么要做;- )
我试过多个变量,但我似乎不明白为什么它不能在我离开订阅后保留变量。

xzabzqsa

xzabzqsa1#

subscribe异步

请参考这个问题,以了解更多,它已经有一个明确的解释…
exisiting subscribe question
我想这可能会解释你的怀疑..如果不是,我需要更多的细节,如在函数中的数据从响应是不可访问的..(代码明智)

相关问题