【发布时间】:2018-07-14 16:46:11
【问题描述】:
我的 Observable 在我的服务中存在问题。 我需要为 3 个玩家获取数据。我的订阅将数据从服务签名到本地变量并将其推送到数组中。很好,但是当我从 if 语句返回数据时,我有错误。我只能看到三个玩家中的一个。如何在我的应用程序的整个生命周期中存储所有数据? 问候。
服务:
getData(query): Observable<any> {
if(this.dataFromDb)
{
return Observable.of(this.dataFromDb);
}
return this.http.get(query)
.map(res => res.json())
.do(res => this.dataFromDb = res)
.catch(err => Observable.throw(err.json() || 'Błąd');
}
}
组件:
export class FriendsComponent implements OnInit {
myDataFromDb: any[] = [];
constructor(public dataService: DataService) {
}
private getDataFromDb(query) {
this.dataService.getData(query).subscribe((data) =>
{
this.myDataFromDb.push(data);
console.log(data);
});
}
ngOnInit() {
for (let i of this.dataService.friends) {
this.dataService.query = `${this.dataService.apiUrl}${i.nick}${this.dataService.apikey}`;
this.getDataFromDb(this.dataService.query);
}
console.log(this.myDataFromDb);
}
}
【问题讨论】:
标签: json angular observable