javascript - 如何检测firestore连接失败
问题描述
我想知道如何使用 angularfire2 知道云 Firestore 数据库是否可访问并且我可以获得集合值?
这里的目标是如果它失败了,我会去获取本地数据。
我有类似的东西
this.afStore.collection('messages').valueChanges().subscribe(
(messages: any[]) => {
// DO STUFF
});
谢谢
解决方案
Firestore 没有公开“在线”或“离线”的概念。在内部,SDK 管理连接,并无限期地重试,直到它可以重新获得连接。SDK 通常假定您的应用程序处于在线状态,但会暂时中断。
在重新获得连接之前,使用本地持久性缓存来满足读取和写入。无法来自缓存的读取等待服务器响应 10 秒(除非您的连接非常慢)。涉及事务的写入不能写入本地缓存 - 它必须在完全在线时执行。
您可以尝试自己检查是否存在某种连接,但这并不能保证 SDK 与服务端有立即可用的连接。
推荐阅读
- javafx - 在 javafx webview 中加载 iframe 时添加侦听器
- laravel - Laravel JSON 字段如果不存在则无法更新或 updateOrCreate
- java - onSharedPreferenceChanged 和variations_seed_native_stored
- javascript - Then() 在 Promise 之前完成
- angular - Angular CDK 拖放:取消拖放操作
- javascript - 不再支持 Kendo Treelist imageClass
- php - 即使有路径,PHP 也无法识别
- javascript - 将数据从 dynamodb.scan 传递到外部
- javascript - 发布请求缺少边界标头
- windows-10 - SWT FileDialog 缺少 Windows 10 上的导航栏