Вы настраиваете uList
как наблюдаемое, а затем никогда не подписываетесь на него.Прочтите наблюдаемые и подписки , и вы поймете, почему ваш код не работает.По сути, вы говорите: « Это данные, которые я хочу прослушать », но на самом деле вы никогда не начнете слушать.
Если вам не нужно постоянно обновлять информацию на клиенте,Я бы порекомендовал вам пропустить использование .snapshotChanges()
... использование этого ( и подписка на него ) является излишним, если вы действительно не хотите обновлений в реальном времени .... Вместо этого для простоты я бы порекомендовалвы извлекаете данные, используя .value('once')
что-то вроде:
let count = 0;
let uList = [];
let uid = this.authServ.getUID();
this.(AngularFireDatabaseVariable).database.ref(uid).once('value').then(dataReturnedAsObject => {
uList = dataReturnedAsObject.val();
uList.forEach(eachItem => {
console.log(eachItem.totalCalories);
count += eachItem.totalCalories;
});
}).catch(err => {
console.log('Error getting data from database');
console.log(err);
});
* непроверенный код