【问题标题】:Firebase - Disable 'offline' mode and make 'update()' throw network exception?Firebase - 禁用“离线”模式并使“更新()”引发网络异常?
【发布时间】:2018-11-12 23:38:24
【问题描述】:

我正在使用update() 来设置帖子的点赞数和点赞数。目前,update() 在离线时保留数据。

我想要什么 - 当用户离线时,他们不应该喜欢该帖子。应改为显示适当的网络错误消息。

问题 - update() 不会抛出网络异常,只要用户上线,就会向服务器提交数据。

以下是我目前正在做的事情:

db.child(nodepath).update(fanoutObj).then((){
        console.log("Data saved successfully.");
}).catch(function(error) {
        console.log("Data could not be saved." + error);
});

catch 在没有互联网的情况下永远不会被调用。

问题:

  1. 当没有互联网连接时,我可以禁用 firebase 离线模式并让它在update() 上引发网络异常吗?

  2. 或者我应该在点击按钮时单独检查网络连接吗?

【问题讨论】:

    标签: javascript firebase react-native firebase-realtime-database exception-handling


    【解决方案1】:

    实时数据库(和 Firestore)假设客户端通常是连接的。缺乏连接被认为是暂时的问题。因此,SDK 将静默重试连接,并且永远不会因缺乏连接而产生错误。您无法更改此行为。

    相反,您可以使用 Cloud Functions 创建一个 HTTP 端点来调用以执行数据库工作。如果无法连接,您的 HTTP 客户端将生成错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      相关资源
      最近更新 更多