В моем компоненте я вызываю функцию у поставщика услуг. Вызов функции get из Firebase и то, что я получаю в консоли, - это ZoneAwarePromise
. Что я делаю не так?Получение ZoneAwarePromise из значения моментального снимка Firebase
В 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 : Объект Firstname : Фредрик UID : "zLmRHwQRM0cehsSrGNXaH2WnSgk2"
прото : Объект прото : Объект
Как получить данные, как равнина объект?
Когда я использую журнал консоли внутри database.ts
, его все в порядке
Вы не можете сделать в реальном времени, асинхронные операции в синхронных возвращаемых значений. Вам нужно будет использовать их асинхронно, передать обещание и дождаться его разрешения (поместите консоль.log() внутри .then(), например 'db.getActiveUserData(), затем (console.log) ' – Kato