Firebase数据库查询在脱机时不返回

时间:2017-03-04 02:17:54

标签: swift firebase firebase-realtime-database

我正在尝试在firebase数据库上运行查询,如果用户处于脱机状态,我想向用户显示弹出窗口,提示他们再次尝试。但是,脱机时查询不会返回。

databaseRef.queryEqual(toValue: "someValue").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
    print(snapshot) //this is never called when user is offline
}) { (error) in
    print(error)    //neither is this
}

运行此查询并检测用户是否处于脱机状态的最佳策略是什么?

1 个答案:

答案 0 :(得分:1)

由于数据库客户端未连接到其后端,因此它不知道其缓存中的位置,因此无法调用您的回调。

您可以通过观察.info/connected来检测Firebase客户端是否已连接到其后端。请参阅http://www.programmerinterview.com/index.php/php-questions/difference-between-and-in-php/