【问题标题】:Enabling Offline when internet will off在互联网关闭时启用离线
【发布时间】: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


【解决方案1】:

您可以像这样收听在线和离线事件

window.addEventListener("online", this.doSomethingWhenOnline);
window.addEventListener("offline", this.doSomethingWhenOffline);

doSomethingWhenOnline() {

}

doSomethingWhenOffline() {

}

【讨论】:

  • 我已经尝试过了,但是如果互联网连接丢失,我如何触发发射基地,即我的大问题
  • 把它放在 app.component.ts 的 ngOnInit 中
猜你喜欢
  • 2013-07-15
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多