我有一个关于这两个相关的问题火力地堡网络平台的 本地修改数据发送到服务器的同步:
共享Firebase数据库的每个客户端都维护其自己的内部版本的任何活动数据.更新或保存数据时,会将其写入此数据库的本地版本.然后,Firebase客户端会以"尽力而为"的方式将该数据与Firebase服务器以及其他客户端同步.
数据修改方法(set(),
remove()等)可以采用onComplete回调参数:
在与Firebase服务器同步完成后将调用的回调函数.回调将
Error在失败时传递一个对象; 别的null.Run Code Online (Sandbox Code Playgroud)var onComplete = function(error) { if (error) { console.log('Synchronization failed'); } else { console.log('Synchronization succeeded'); } }; fredRef.remove(onComplete);
在上面的示例中,fredRef.remove()回调期望接收哪种错误?
有没有办法区分临时和永久错误?
我们应该如何处理/从这些错误中恢复?
对于临时错误,我们是否需要fredRef.remove()在短时间后再次呼叫,以重试操作?
我意识到每次调用set()并将remove()在onComplete回调中收到单独的同步成功/失败结果.但我正在寻找一种方法来确定整个Firebase客户端的
全局同步状态.
我想使用一个beforeunload事件监听器来警告用户在所有修改过的数据同步到服务器之前他们试图离开页面,我正在寻找一些类似的功能firebase.isAllModifiedDataSynced().像这样的东西:
window.addEventListener('beforeunload', function (event) {
if (!firebase.isAllModifiedDataSynced()) {
event.returnValue = …Run Code Online (Sandbox Code Playgroud) javascript data-synchronization firebase firebase-realtime-database