我正在尝试使用.subscribe将数据从api获取到数组,但数组将保持为空。
dataService.ts
getData(): Observable<Data[]> {
return this.http.get<Data[]>(this.dataUrl);
}data.ts
data: Data[] = [];
ngOnInit(): void {
this.getData();
console.log(this.data[0].dataId);
}
getData(): void {
this.dataService.getData()
.subscribe(data => this.data = data)
}发布于 2021-06-14 08:57:01
你的代码是getData函数是异步的,你应该通过控制台登录你的订阅者
getData(): void {
this.dataService.getData().subscribe(data => {
this.data = data;
console.log(this.data[0].dataId);
})
}您的ngOnInit是同步代码,因此,当它通过异步函数getData函数调用运行时,它不会等待。因此,数据尚未加载,未定义。
https://stackoverflow.com/questions/67963636
复制相似问题