我的Angular2类型脚本代码有问题。我试图通过订阅FirebaseListObserver来访问Firebase数据库中的问题:
this.af.list('/questions').subscribe( val => {
this.questions = val
console.log(this.questions) // works
})
console.log(this.questions) // displays undefined
在运行依赖于this.questions
的函数之前,我不知道如何等待订阅获取值。
我尝试使用async / await,但也没有等待订阅获取值。
我也尝试在promise中订阅,但也返回了一个空数组。
答案 0 :(得分:0)
您可以在subscribe
回调中运行该功能,也可以将questions
转换为设置者/获取者:
private _questions = [];
set questions(questions) {
this._questions = questions;
// React to questions changes here
}
get questions() {
return this._questions;
}
如果您熟悉角度的早期版本,那将会像观察者一样行事。因此,在set
函数中,您可以检查questions
是否有值并对其作出反应,调用您需要的任何函数。