firebase - 询问Flutter Firebase中是否存在对象,离线时检查缓存
问题描述
我正在开发一个使用 Firebase Cloud Firestore 的 Flutter 应用程序,我需要检查一个项目是否存在于集合中。
var tx = await Firestore.instance.collection(collection).document(txId).get();
return tx.exists;
这个应用程序预计能够离线工作,这是一个常见的场景。在这种情况下,我希望 Firestore 在本地存储中查找,如果不存在则返回 null。但我遇到了麻烦。
我启用了 Firestore 持久性。
Firestore.instance.settings(persistenceEnabled: true);
但我得到以下异常:
[错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:PlatformException(执行获取时出错,由于客户端离线,无法获取文档。,null)
我在 pubspec.yaml 中的 Firebase 依赖项:
cloud_firestore: ^0.13.7
有没有办法获得所需的行为?(仅在离线时检查本地存储)
我一直在阅读其他问题:
在 Flutter 应用程序中使用 Firestore 中的离线持久性
但这并不是我想要的,因为我不需要在数据库中写入。
解决方案
推荐阅读
- angular - Angular 组件公开 API(在库中)的正确/首选方式是什么?
- python - Pyspark:如果具有特定 id 的任何行包含 null,如何根据另一列派生新列的值?
- r - 不能 `filter()` 一个数字列,即使 `r` 说它是一个数字(`typeof()` 是“double”)
- arrays - 如何使用用户输入在 VBA 中创建过滤器/下拉菜单
- html - 通过 `srcdoc` 在 iframe 中渲染 HTML 时,我是否需要担心 XSS 风险?
- javascript - 如何将 Ajax 侦听器绑定到表行
- google-cloud-functions - 谷歌云功能的安全疑虑
- json - 如何使用 Azure Policy 在资源创建范围内强制执行指定的标记及其值
- python - 循环产品链接以抓取数据
- php - PHP 无效的身份验证(通用)