问题:
我有一个非常简单的firebase问题。我的.catch
函数永远不会被触发。
背景
如果网络已连接,我可以成功保存到firebase并调用我的.then
功能。但是,如果我从互联网断开连接,则永远不会调用.catch
。我在chrome dev工具中看到了网络故障。他们只是尝试连接,但从不这样做(互联网断开连接)。
firebase.database()
.ref('password')
.set("hat")
.then(() => {
debugger;
})
.catch((error) => {
debugger;
})
答案 0 :(得分:2)
<强>答案:强>
丢失的网络连接不是Firebase的失败状态。
<强>背景强>
根据他们的Offline-Capabilities docs
即使您的应用暂时失去网络连接,Firebase应用也会正常运行。
我能够验证我的.catch
语句是否与其他类型的失败有关,例如错误的权限。
解决方法:强>
我目前的计划是手动实现超时,如果网络请求挂起太长时间将触发超时。