gpt4 book ai didi

javascript - 写入 Firebase Cloud Firestore

转载 作者:行者123 更新时间:2023-12-02 21:13:15 25 4
gpt4 key购买 nike

在 JavaScript 中写入 firebase cloud firestore 是异步的吗?如果是的话,有什么方法可以处理吗?

我的程序应该将一个值更新到数据库中,然后很快将该值提取出来,以对其执行某些操作。

大多数时候,都会输出正确的值,但是,有时输出的是之前的值,但是当刷新页面,再次从数据库中读取相同的值时,就会输出正确的值。

因此,我假设问题一定是写入数据库是异步的,就像读取数据库一样。

“.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 有时会输出错误的值。

最佳答案

是的,它是异步的。

处理您遇到的问题的一个好方法是async/await

首先,您需要在异步函数中创建您正在执行的函数

然后做这样的事情

async function FunctionName(){
// do some initial stuff
await write to the database
// do some intermediate stuff
await read from the database
}

关于javascript - 写入 Firebase Cloud Firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61037145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com