我想在不刷新或关闭页面的情况下断开firebase套接字,但是如何做到这一点?
我可以使用socket.disconnect()或socket.close()这样的方法吗?我刚刚找到了socket.onDisconnect()方法。
答案 0 :(得分: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( )。
答案 1 :(得分:-18)
var dataRef = new Firebase(“https://SampleChat.firebaseio-demo.com/”);
您可以使用 dataRef.unauth()断开连接。