如何检测Firestore连接失败

时间:2018-06-29 01:16:01

标签: javascript angular firebase google-cloud-firestore

我想知道如何使用angularfire2来了解云firestore数据库是否可访问并且可以获取集合值?

这里的目标是如果失败,我将改为获取本地数据。

我有类似的东西

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

    // DO STUFF
  });

谢谢

1 个答案:

答案 0 :(得分:3)

Firestore并未公开“在线”或“离线”的概念。在内部,SDK管理连接,并无限期重试,直到可以重新获得连接。 SDK通常会假定您的应用程序处于在线状态,并且会出现短暂的中断。

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

您可以尝试检查自己是否存在某种连通性,但这不能保证SDK可以立即与服务端建立连接。