首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ionic 2检查互联网连接不工作

ionic 2检查互联网连接不工作
EN

Stack Overflow用户
提问于 2017-08-04 23:00:21
回答 3查看 1.4K关注 0票数 0

我想检查一下网络连接。我尝试了这段代码,但没有返回任何内容。

代码语言:javascript
复制
ionViewDidEnter() {
  this.network.onConnect().subscribe(data => {
    console.log(data)
  }, error => console.error(error));

  this.network.onDisconnect().subscribe(data => {
    console.log(data)
  }, error => console.error(error));
}
EN

回答 3

Stack Overflow用户

发布于 2017-08-04 23:49:36

我尝试了这段代码,但是没有返回任何东西。

检查Ionic Native Docs onConnectonDisconnect都返回一个要订阅的观察值,以了解事件何时发生。

未返回任何数据类型。

只需这样做:

代码语言:javascript
复制
 this.network.onConnect().subscribe(() => {
    console.log("Connected successfully")         
    //do other tasks after connected
  }, error => console.error(error));
票数 0
EN

Stack Overflow用户

发布于 2017-08-05 00:02:16

你的代码看起来没问题。

但是你应该等待Platform.ready()的承诺,这意味着科尔多瓦已经准备好了。

代码语言:javascript
复制
constructor(public platform: Platform, public network: Network)

然后:

代码语言:javascript
复制
ionViewDidEnter() {
    this.platform.ready().then(() => {
        this.network.onConnect().subscribe(data => {
            console.log(data)
        }, error => console.error(error));

        this.network.onDisconnect().subscribe(data => {
            console.log(data)
        }, error => console.error(error));
   });
}
票数 0
EN

Stack Overflow用户

发布于 2017-08-05 03:31:40

您所做的操作不会返回连接类型,也不会返回它是否已连接。这将在您的连接上创建可观察性,因此如果您断开连接或连接,它将执行一个函数。

如果要检查是否已连接,请使用this.network.type

代码语言:javascript
复制
ionViewDidEnter() {
  console.log(this.network.type);
}

这将返回一个带有您的连接类型的字符串,它可以是WIFINONE等。

因此,如果您想检查连接,然后在断开连接时执行某些操作,只需执行以下操作

代码语言:javascript
复制
ionViewDidEnter() {
  if(this.network.type == 'NONE'){
    // EXECUTE SOMETHING
  }
}

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45510006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档