Я хочу обновить объект, используя функцию транзакции Firebase.Я прочитал весь документ и все доступные ресурсы.Если данные доступны на конкретном узле, ниже функция транзакции удаляет данные с этого узла.Может ли кто-нибудь помочь мне в этом, что не так с приведенным ниже кодом?
Примечание: - Использование транзакции вместо функции обновления, поскольку значения могут обновляться одновременно.
await refRun.once('value', snap => {
console.log(snap.val()); // Here I am able to get data
})
refRun.transaction(async (current) => {
if (current === null) {
console.log("coming", current);
// updating values by fetcing from node
return await refRun.once('value', function (snapshot) {
console.log("coming", snapshot.val()); // coming null here
if (snapshot.val() === null) {
console.log("coming----1", snapshot.val());
return {
total_raised: workout.run_amount || 0,
total_distance: workout.distance || 0.0
}
}
else {
console.log("coming----2", snapshot.val());
return {
user_total_raised: snapshot.val().user_total_raised + workout.run_amount || 0,
user_total_distance: snapshot.val().user_total_distance + workout.distance || 0.0
}
}
})
}
console.log("coming-123", current); // null
});