我正在尝试在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
}
运行此查询并检测用户是否处于脱机状态的最佳策略是什么?
答案 0 :(得分:1)
由于数据库客户端未连接到其后端和,因此它不知道其缓存中的位置,因此无法调用您的回调。
您可以通过观察.info/connected
来检测Firebase客户端是否已连接到其后端。请参阅http://www.programmerinterview.com/index.php/php-questions/difference-between-and-in-php/。