我正在使用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
在没有互联网的情况下永远不会被调用。
问题:
我可以禁用firebase离线模式,并在没有互联网连接的情况下让它在update()
上抛出网络异常吗?
或者我应该在点击按钮时单独检查网络连接吗?
答案 0 :(得分:2)
实时数据库(和Firestore)假设客户端通常是连接的。缺乏连接被认为是一个临时问题。因此,SDK将以静默方式重试连接,并且由于缺乏连接而永远不会生成错误。你无能为力改变这种行为。
相反,您可以使用云功能创建一个HTTP端点来调用它来执行数据库工作。如果您的HTTP客户端无法连接,则会生成错误。