带有和不带回调的firebase onDiconnect

时间:2016-06-23 21:08:00

标签: javascript web firebase firebase-realtime-database

我遇到了有趣的情况。 所有的firebase指南和手册都说我们应该在所有其他操作之前使用.onDisconnect方法来防止已经设置了值的情况但是" onDisconnect"行为没有被描述(例如因为互联网突然断开)。

例如:

userRef.onDisconnect().remove();
userRef.set(value);

但是当我快速连接/断开我的WIFI时,这种方法并没有帮助我。在几次断开连接后,我注意到有些值没有被删除。

之后我尝试使用这样的代码:

userRef.onDisconnect().set(null, function(){
    userRef.set(value);
})

这种方法帮助我成功地解决了问题,并防止在不稳定的互联网连接期间保存不必要的值。这很棒,但我仍然不明白为什么它的工作原理比第一个变种更好。 所有手册都说只需将onDisconnect().remove();置于其他操作之前即可。也许他们没有考虑到极端不稳定连接的情况,或者我在某处错了? THX

0 个答案:

没有答案