Асинхронная ли запись в firebase cloud firestore в javascript? И если это так, как с этим справиться?
Моя программа должна обновить значение в базе данных, а затем вытащить это значение, чтобы что-то с ним сделать.
В большинстве случаев выводится правильное значение, однако иногда выводится предыдущее значение, но когда страница обновляется и то же значение снова считывается из базы данных, выводится правильное значение.
Итак, я предполагаю, что проблема должна заключаться в том, что запись в базу данных асинхронна, точно так же, как чтение базы данных.
". Then", похоже, не работает.
Вот упрощенная версия моего кода:
function updateDB{
db.collection("rooms").doc("roomsDoc").update({
roomTime: timeInput //timeInput is a variable defined (not shown in code here)
}).then
{
readDB();
}
}
function readDB(){
db.collection("rooms").doc("roomsDoc").get().then(function(doc) {
console.log(doc.data().roomTime);
});
}
console.log - это то, что иногда выводит неправильное значение.