每次调用服务或应用状态发生变化时,如何在离子应用中检查网络连接,我已经包含一个插件来检查网络连接并创建工厂来检查网络连接值
这是我的工厂检查网络连接值:
.factory("Network", ['errorModule','$state','$ionicPopup',function(errorModule,$state,$ionicPopup) {
return{
isOnline : function(throwErr){
var online = navigator.onLine;
if(!online&&throwErr){
// errorModule.throwException(100,"No network connection");
ionicAlert($ionicPopup,'',"No network connection");
}
return online;
}
}
}
])
我想在每次访问状态时检查网络连接,直到服务的完整数据被加载为止,我想显示带有重试选项的离子警报,并再次调用服务以获取数据,如果它获得互联网连接在我的控制器里面,我检查了这样的情况:
if(navigator.onLine){
calldataFetchFunction();
}else{
var alertPopup = $ionicPopup.alert({
template: 'no internet connection',
buttons: [{
text:'Ok',
onTap: function(e) {
calldataFetchFunction();
}
}]
});
}
calldataFetchFunction();包含用于解析从Web服务获取的数据的代码,我在这里遇到的问题是单击ok按钮我再次调用函数来解析数据,因为数据不可用我的条件失败,我应该在哪里检查这个连接是否在服务中或控制器,我对后续的方法和方法感到困惑?