【发布时间】:2016-07-25 22:36:48
【问题描述】:
谁能解释一下如何在 Angular2 和 Firebase 中正确实现 promise。
我读过一些文章,例如https://www.firebase.com/blog/2016-01-21-keeping-our-promises.html
在我的 app.component.ts 文件中我有这个
export class AppComponent{
players: Player[];
constructor(private _playerService: PlayerService){}
getPlayers(){
this._playerService.getPlayers().then(res => this.players = res);
}
ngOnInit(){
this.getPlayers();
}
}
在 player.service.ts 文件中我有这个
getPlayers() {
this.playersRef.once('value', function (snap){
return snap.val();
});
}
我总是得到 TypeError: this._playerService.getPlayers(...) is undefined
我也按照上面文章的建议尝试了这个
getPlayers() {
var data;
this.playersRef.once('value').then( function (snap){
data = snap.val();
});
return data;
}
但后来我得到了这个:错误:Query.once failed: was called with 1 argument.预计至少 2. in [null]
我不确定这篇文章如何使用 .once('value').then()
【问题讨论】:
标签: firebase promise angular angular2-services