我在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摇了摇头,扯掉他的头发,嘲笑我的愚蠢,然后才走到他/她的键盘上,输入我做错了什么,我应该怎样做,为什么要做;- )
我试过多个变量,但我似乎不明白为什么它不能在我离开订阅后保留变量。
1条答案
按热度按时间xzabzqsa1#
subscribe为异步
请参考这个问题,以了解更多,它已经有一个明确的解释…
exisiting subscribe question
我想这可能会解释你的怀疑..如果不是,我需要更多的细节,如在函数中的数据从响应是不可访问的..(代码明智)