我想检查互联网连接。我尝试了这段代码,但什么也没返回给我。
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));
}
我尝试此代码,但未返回任何内容。
查看 Ionic Native 文档onConnect
和onDisconnect
都返回一个要订阅的可观察量,以了解事件发生的时间。
不返回任何数据类型。
只需做:
this.network.onConnect().subscribe(() => {
console.log("Connected successfully")
//do other tasks after connected
}, error => console.error(error));
你的代码似乎没问题。
但是你应该等待Platform.ready()
承诺,这意味着科尔多瓦已经准备好了。
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));
});
}
您正在执行的操作不会返回连接类型或是否已连接。这只会在您的连接上创建可观察量,因此如果您断开连接或连接,它将执行一个函数。
如果要检查是否已连接,请使用this.network.type
ionViewDidEnter() {
console.log(this.network.type);
}
这将返回一个包含连接类型的字符串,可以是WIFI
、NONE
等。
因此,如果您想检查连接,然后在断开连接时执行某些操作,只需执行
ionViewDidEnter() {
if(this.network.type == 'NONE'){
// EXECUTE SOMETHING
}
}
希望这有帮助