当我们使用 ref.push 写入 firebase 数据库 javascript 时会触发哪个事件

当我们使用 javascript 在 firebase 中工作时,在我们使用 ref.push 或 ref.set 插入数据后会触发哪个事件。我想知道我的数据是否插入

我还想在用户在 Firebase 中插入数据时断开互联网连接时抛出错误

我还没有在互联网上看到任何功能或任何方法告诉我数据是否成功插入。


MYYA
浏览 258回答 2
2回答

阿晨1998

Firebase 实时数据库不会将缺乏互联网连接视为错误情况。相反,它会在给定条件下继续发挥其最佳能力。当您执行写入操作(与set,push,update,或remove),而没有互联网连接:第一个客户端立即触发本地事件,以便您的应用程序可以为新的/更新的数据更新 UI。然后,一旦连接恢复,它就会将写入操作排队以进行传送。连接恢复后,客户端会按照客户端执行的顺序发送所有挂起的写入操作。然后它处理来自服务器的响应,这(如果服务器由于安全规则拒绝操作)可能会导致触发更多本地事件,以便应用程序可以将 UI 恢复到正确的状态。它然后最后调用任何完成的听众,并解决或拒绝的承诺set(),push(),update(),或remove()方法。您会注意到,在任何时候都不会因缺少 Internet 连接而引发任何错误。如果您不想在应用没有互联网连接时向本地队列发送任何数据,最好检测 Firebase 客户端是否已连接到服务器。您可以通过侦听.info/connected伪节点来做到这一点。顺便说一句,这不仅涵盖了互联网连接,还涵盖了互联网连接有效但客户端无法访问 Firebase 的情况。此处的最佳实践是针对此状态使用“全局”侦听器,并在客户端未连接时禁用相关 UI 元素。

函数式编程

此函数基于 Promise,因此您可以使用 try/catch:try {  firebase.push(data) // or set} catch (error) {  console.log(error) // here is error}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript