尝试从 subscribe() 获取 json 数据 - Angular 7.x
Trying to get json data from subscribe() - Angular 7.x
我有一个 Angular 7.x 应用程序 - 我有一个调用服务内函数的组件 - 它向后端端点和 returns 一组用户发出 GET 请求;
我能够看到订阅内的数据(我使用 console.log 的地方)——但是我无法在 subscribe() 之外使用数据——我如何访问来自 this.userAccessList
的数据
// top of component
public userAccessList: Array<any> = [];
checkAccess(): void {
this.chatMessagesService.getListWithAccessToPage()
.subscribe(json => {
console.log(json); // can see this in the console in the browser
this.userAccessList = json;
});
console.log('userAccessList', this.userAccessList); // appears as an empty array
}
我们正在处理异步请求 here.So, console.log('userAccessList', this.userAccessList);可以在 api 调用完成之前执行。所以,它可能在那个时候不可用。
如果要在模板中使用该值,请先检查该值是否存在,如下所示。
<span *ngIf="userAccessList"> <!-- Do stuff --> </span>
我有一个 Angular 7.x 应用程序 - 我有一个调用服务内函数的组件 - 它向后端端点和 returns 一组用户发出 GET 请求;
我能够看到订阅内的数据(我使用 console.log 的地方)——但是我无法在 subscribe() 之外使用数据——我如何访问来自 this.userAccessList
// top of component
public userAccessList: Array<any> = [];
checkAccess(): void {
this.chatMessagesService.getListWithAccessToPage()
.subscribe(json => {
console.log(json); // can see this in the console in the browser
this.userAccessList = json;
});
console.log('userAccessList', this.userAccessList); // appears as an empty array
}
我们正在处理异步请求 here.So, console.log('userAccessList', this.userAccessList);可以在 api 调用完成之前执行。所以,它可能在那个时候不可用。
如果要在模板中使用该值,请先检查该值是否存在,如下所示。
<span *ngIf="userAccessList"> <!-- Do stuff --> </span>