Javascript 只听一次Firestore快照
我正在使用Javascript 只听一次Firestore快照,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,我正在使用onSnapshot来监听Firestore中的更改。对于特定情况,我只想侦听一个更改,然后分离侦听器。我该怎么做?我之所以不直接调用get,是因为我无法确定当我要进行调用时,Firestore DB是否已在客户端中加载,并且onSnapshot允许您指定加载后的回调。要执行此操作,您可以使用Firestore的get方法。它的工作原理有点不同,因为它返回一个承诺,但之后的数据类型是相似的 我上面链接的文档中的一个示例: var docRef = db.collection("
onSnapshot
来监听Firestore中的更改。对于特定情况,我只想侦听一个更改,然后分离侦听器。我该怎么做?我之所以不直接调用get
,是因为我无法确定当我要进行调用时,Firestore DB是否已在客户端中加载,并且onSnapshot允许您指定加载后的回调。要执行此操作,您可以使用Firestore的get
方法。它的工作原理有点不同,因为它返回一个承诺,但之后的数据类型是相似的
我上面链接的文档中的一个示例:
var docRef = db.collection("cities").doc("SF");
docRef.get().then((doc) => {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch((error) => {
console.log("Error getting document:", error);
});
如果客户端中尚未加载
db
(例如,如果firebase用户尚未登录),get()。所以是的,这应该行得通。如果对您不起作用,请编辑您的问题,以显示您尝试的代码和获得的结果。