javascript - 只听一次 Firestore 快照
问题描述
我正在使用onSnapshot
以收听 Firestore 中的更改。对于某种情况,我只想监听单个更改,然后分离监听器。我怎样才能做到这一点?我不只是打电话get
的原因是,当我想拨打电话时,我无法确定 Firestore DB 是否已加载到客户端中,而 onSnapshot 允许您指定加载发生后的回调。
解决方案
使用 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);
});
推荐阅读
- selenium - Selenium 如何添加控制在 VSTS 中运行哪些 TestCases 的能力 - 发布定义中的 Visual Test Studio
- javascript - `a` 标记中的下载属性不起作用
- angular - 如何在不触发新发射的情况下获得可观察的值
- signal-processing - DSP:重叠添加和窗口化
- python-3.x - OpenCV 库(在 Python 中)的 VideoCapture 方法是处理每一帧,还是在进行大量处理时也会跳过帧?
- google-bigquery - 在 BigQuery 中将 HTML 字符转换为 unicode
- sql - MS Sql 中的小计
- sql - 声明变量时 SQL 日期时间格式不正确
- php - 如何向数据库表中的多个收件人发送电子邮件?
- python - pip 怎么知道要卸载什么?