如何在调用工厂之前检查离子应用程序中的网络连接?

时间:2016-08-24 11:57:44

标签: javascript angularjs networking service ionic-framework

每次调用服务或应用状态发生变化时,如何在离子应用中检查网络连接,我已经包含一个插件来检查网络连接并创建工厂来检查网络连接值

这是我的工厂检查网络连接值:

.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按钮我再次调用函数来解析数据,因为数据不可用我的条件失败,我应该在哪里检查这个连接是否在服务中或控制器,我对后续的方法和方法感到困惑?

0 个答案:

没有答案