断开firebase套接字而不刷新或关闭页面

zhu*_*236 8 firebase

我想在没有刷新或关闭页面的情况下断开firebase套接字,但是如何做到这一点?

有没有像socket.disconnect()或socket.close()我可以使用的方法?我刚刚找到了socket.onDisconnect()方法.

Rob*_*rco 18

Firebase最近为每个客户端添加了对两种新静态方法的支持,Firebase.goOffline()Firebase.goOnline()允许您在应用程序中手动断开连接并重新连接.

来自https://www.firebase.com/docs/javascript/firebase/gooffline.html:

手动断开Firebase客户端与服务器的连接并禁用自动重新连接.

Firebase客户端会自动维护与Firebase服务器的持久连接,该服务器将无限期保持活动状态,并在断开连接时重新连接.但是,在不希望持久连接的情况下,goOffline()和goOnline()方法可用于手动控制客户端连接.

离线时,Firebase客户端将不再从服务器接收数据更新.但是,本地执行的所有Firebase操作都将继续立即触发事件,从而使您的应用程序继续正常运行.此外,在重新连接到Firebase服务器时,本地执行的每个操作都将自动排队并重试.

要重新连接到Firebase服务器并开始接收远程事件,请参阅goOnline().重新建立连接后,Firebase客户端将传输相应的数据并触发相应的事件,以便客户端自动"赶上".

注意:调用此方法将影响所有Firebase连接.

有关详细信息,请参阅Firebase.goOffline()Firebase.goOnline().


Ash*_*hok -19

var dataRef = new Firebase(" https://SampleChat.firebaseio-demo.com/ ");

您可以使用dataRef.unauth()断开连接。