gpt4 book ai didi

javascript - Firestore onSnapshot 返回未定义

转载 作者:行者123 更新时间:2023-11-30 09:14:41 24 4
gpt4 key购买 nike

我有一个从 Firestore 获取数据的函数,但总是返回未定义的。我以前使用过 .get() 方法,但我希望在数据库获取一些新数据时自动更新我的数据。

我知道 .onSnapshot() 不会返回 promise ,所以使用异步不是一个选项。

getdata = (dbRef) => {
dbRef.onSnapshot(snapshot => {
console.log(snapshot);
return snapshot;
});
}

日志在控制台中显示快照,但是当我调用该函数时,它返回未定义

最佳答案

你的问题不是很清楚。如果您尝试获取实时更新,那么您可以使用此文档中的模型 https://firebase.google.com/docs/firestore/query-data/listen

db.collection("cities").doc("SF")
.onSnapshot(function(doc) {
console.log("Current data: ", doc.data());
});

如果您尝试获取一次性数据,请使用此文档中的模型 https://firebase.google.com/docs/firestore/query-data/get-data

docRef.get().then(function(doc) {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}

我认为文档对此非常清楚。

顺便说一句,我确信实时更新中的 onSnapshot 也是异步的。如果您想获得实时更新,那么您将无法使用它。对于函数使用一次数据模型。这是实时更新的非常好的例子

http://jsfiddle.net/katowulf/cw7dgs8a/

关于javascript - Firestore onSnapshot 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55950029/

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