0

我正在尝试在应用程序尝试连接到 firebase-realtime-database 时检查错误。

我主要担心的是用户第一次启动应用程序但没有互联网连接时。我创建了对数据库的引用并尝试观察单个事件,但控制台日志开始抛出错误消息,并且我的代码都没有捕获它们。

//------- variable declaration

var ref:DatabaseReference?

//------- inside de method

ref = Database.database().reference(withPath: "myPath")

ref?.observeSingleEvent(of: .value, with: { (snapshot) in

    //I cannot even fire up the observer, so I never get here

}){(error) in

    //no error is captured here also

}

即使我评论或删除observeSingleEvent,我也可以看到控制台中抛出的错误,但我想捕获它们。有谁知道这是怎么做到的吗?

提前致谢

4

1 回答 1

1

查询时离线不是“错误”。只要您的应用程序正在运行并且您的代码在该位置附加了一个观察者,SDK 将继续尝试发出请求。

如果你想检测连接状态,你可以附加一个观察者/.info/connected来获取一个回调,指示连接的当前状态。请注意,此信息可能已过时,因为停止的连接直到一段时间后才会立即完全断开。

于 2019-06-19T00:05:58.413 回答