所以我在Angular2中有这个服务
fetchData(){
return this.http.get('https://ng-workout.firebaseio.com/Workouts/.json').map(
(res) => res.json()
);
}
然后是这个组件
export class HomeComponent {
workouts = [];
constructor(private dataService: DataService){
}
ngOnInit(){
this.dataService.fetchData().subscribe(
data=> this.workouts =data
);
console.log(this.workouts);
}
}
所以事情是,当我控制日志时,这个工作'它返回0,一个空数组。难道不存在json文件中的所有记录吗?
答案 0 :(得分:1)
您需要将console.log()
代码移动到您传递给订阅的回调
ngOnInit(){
this.dataService.fetchData().subscribe(
data=> {
this.workouts =data;
console.log(this.workouts);
});
}
fetchData
(observables)是异步的。传递给订阅的函数在数据可用时执行。