Я делаю свой проект на ionic 6 с angular и базой данных firebase. Мне нужна функция typescript, которая добавляет значения, полученные из массива, извлеченного из коллекции в firebase.
async getGastos() {
const uid = await this.auth.getUid();
const ruta = 'Usuarios/' + uid + '/Gastos';
this.firebaseService.getCollection<Gasto>(ruta).subscribe(res => {
this.gastos = res;
// this.gastos.forEach(gasto => {
// gasto.monto_gasto;
// });
});
this.setTransc()
}
//Функция для извлечения данных из коллекции «expenses», столбца «expense_amount» и добавления этих данных в функцию «setTransc»
async getIngresos() {
const uid = await this.auth.getUid();
const ruta = 'Usuarios/' + uid + '/Ingresos';
this.firebaseService.getCollection<Ingreso>(ruta).subscribe(res => {
this.ingresos = res;
// this.ingresos.forEach(ingreso => {
// ingreso.monto_ingreso
// });
this.setTransc()
});
}
//Функция для получения данных из коллекции «доходы», столбец «сумма_расхода» и добавления этих данных в функцию «setTransc»
setTransc() {
let sumaGastos = 0;
this.gastos.forEach(gasto => {
sumaGastos += gasto.monto_gasto
console.log("ggg", sumaGastos);
});
let sumaIngresos = 0;
this.ingresos.forEach((ingreso, i) => {
sumaIngresos += ingreso.monto_ingreso
console.log("iii", sumaIngresos);
});
}
async todo(){
await this.getGastos();
await this.getIngresos();
}
«setTransc()» функция для суммирования значений массива, затем функция «todo()» имеет await, так как элементы возвращают обещание перед отображением.
Следует отметить, что мне нужно нажать кнопку для работы со значениями, потому что я не знаю, как сделать это в фоновом режиме, чтобы показать это непосредственно в следующем представлении.
Заранее спасибо и извините за мой плохой английский.