在我的組件中,我從服務提供者調用函數。 從Firebase調用get函數以及我在控制檯中獲得的是ZoneAwarePromise
。我究竟做錯了什麼?從Firebase快照值獲取ZoneAwarePromise
在xx.component.ts
文件:
constructor(private db: Database) {
console.log(db.getActiveUserData());
}
database.ts
文件:
getActiveUserData(){
return this.database.child('/users/' + this.as.id).once('value').then((snapshot) => {
return snapshot.val();
})
}
控制檯日誌:
ZoneAwarePromise __zone_symbol__state:真
__zone_symbol__value : 對象 姓 : 弗雷德裏克 UID : 「zLmRHwQRM0cehsSrGNXaH2WnSgk2」
原 : 對象 原 : 對象
我如何收到的數據作爲一個普通的目的?
當我使用database.ts
內控制檯日誌,它的一切優秀的
您不能將實時異步操作轉換爲同步返回值。你需要異步使用它們,傳遞諾言,並等待它解決(把你的console.log()放入.then(),例如'db.getActiveUserData()。then(console.log) ' – Kato