如何检测firestore连接失败

Dav*_*vid 4 javascript firebase angular google-cloud-firestore

我想知道如何使用 angularfire2 知道云 Firestore 数据库是否可访问以及我是否可以获得集合值?

这里的目标是如果失败,我会去获取本地数据。

我有类似的东西

this.afStore.collection('messages').valueChanges().subscribe(
  (messages: any[]) => {

    // DO STUFF
  });
Run Code Online (Sandbox Code Playgroud)

谢谢

Dou*_*son 6

Firestore 没有公开“在线”或“离线”的概念。在内部,SDK 管理连接,并无限期重试,直到它可以重新获得连接。SDK 通常假设您的应用程序在线,但会暂时中断。

在重新获得连接之前,将使用本地持久性缓存来满足读取和写入。不能来自缓存的读取会等待 10 秒以等待来自服务器的响应(除非您的连接速度非常慢)。涉及事务的写入不能写入本地缓存 - 它必须在完全在线时执行。

您可以尝试自行检查是否存在某种连接,但这并不能保证 SDK 具有到服务端的立即可用连接。