【发布时间】:2019-10-23 12:37:27
【问题描述】:
我正在使用带有 ionic 3 的 firebase 开发一个聊天应用程序。我必须在与互联网断开连接时将状态更改为“离线”。
我参考了以下网站:
1) https://firebase.google.com/docs/database/web/offline-capabilities
2)https://firebase.google.com/docs/reference/js/firebase.database.OnDisconnect
this.disconnectSubscription = this.network
.onDisconnect()
.subscribe(() => {
this.online = false;
var userLastOnlineRef = firebase.database().ref('/accounts/'this.loggedInUserId);
userLastOnlineRef.onDisconnect().set({status:offline});
});
当我关闭互联网连接时,offline 的状态不会改变。
【问题讨论】:
-
这行
var userLastOnlineRef = firebase.database().ref('/accounts/'this.loggedInUserId);对我来说看起来很可疑,因为没有进行字符串连接。控制台有错误吗? -
没有没有任何错误,你检查了那两个链接,我说的对吗?
-
那么你用什么来检测在线或离线状态?
-
你是如何测试这个的?你等了多久?在“脏”断开连接的情况下(例如网络连接突然断开),Firebase 的服务器端
onDisconnect()逻辑依赖于套接字状态来检测客户端已消失。这可能需要几分钟时间。
标签: javascript node.js angular typescript ionic-framework