2017-08-04 103 views
0

我想檢查互聯網連接。我嘗試這個代碼,但沒有返回給我。離子2檢查互聯網連接不工作

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)); 
} 

回答

0

我試試這個代碼,但沒有還給我。

檢查Ionic Native Docs 兩個onConnectonDisconnect返回一個可觀察到訂閱知道事件發生。

沒有數據類型返回。

只要做到:

this.network.onConnect().subscribe(() => { 
    console.log("Connected successfully")   
    //do other tasks after connected 
    }, error => console.error(error)); 
0

您的代碼似乎是好的。

但是您應該等待Platform.ready()的承諾,這意味着cordova已經準備就緒。

constructor(public platform: Platform, public network: Network) 

然後:

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

你doing'll不會返回連接類型,或者如果它連接或沒有什麼。這隻會在你的連接上創建可觀察對象,所以如果你斷開連接或者連接它就會執行一個函數。

如果要檢查,如果你連接使用this.network.type

ionViewDidEnter() { 
    console.log(this.network.type); 
} 

這會返回與您的連接類型的字符串,也可以是WIFINONE,等等。

所以,如果你要檢查你的連接,然後做一些事情,如果它斷開只是做

ionViewDidEnter() { 
    if(this.network.type == 'NONE'){ 
    // EXECUTE SOMETHING 
    } 
} 

希望這有助於