首页 > 解决方案 > 只听一次 Firestore 快照

问题描述

我正在使用onSnapshot以收听 Firestore 中的更改。对于某种情况,我只想监听单个更改,然后分离监听器。我怎样才能做到这一点?我不只是打电话get的原因是,当我想拨打电话时,我无法确定 Firestore DB 是否已加载到客户端中,而 onSnapshot 允许您指定加载发生后的回调。

标签: javascriptgoogle-cloud-firestore

解决方案


使用 Firestore 的方法获取数据。get它的工作方式有点不同,因为它返回一个 Promise,但之后的数据类型是相似的。

我上面链接的文档中的一个示例:

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);
});

推荐阅读