我想检查一下网络连接。我尝试了这段代码,但没有返回任何内容。
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));
}发布于 2017-08-04 23:49:36
我尝试了这段代码,但是没有返回任何东西。
检查Ionic Native Docs onConnect和onDisconnect都返回一个要订阅的观察值,以了解事件何时发生。
未返回任何数据类型。
只需这样做:
this.network.onConnect().subscribe(() => {
console.log("Connected successfully")
//do other tasks after connected
}, error => console.error(error));发布于 2017-08-05 00:02:16
你的代码看起来没问题。
但是你应该等待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));
});
}发布于 2017-08-05 03:31:40
您所做的操作不会返回连接类型,也不会返回它是否已连接。这将在您的连接上创建可观察性,因此如果您断开连接或连接,它将执行一个函数。
如果要检查是否已连接,请使用this.network.type
ionViewDidEnter() {
console.log(this.network.type);
}这将返回一个带有您的连接类型的字符串,它可以是WIFI、NONE等。
因此,如果您想检查连接,然后在断开连接时执行某些操作,只需执行以下操作
ionViewDidEnter() {
if(this.network.type == 'NONE'){
// EXECUTE SOMETHING
}
}希望这能有所帮助
https://stackoverflow.com/questions/45510006
复制相似问题