Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何限制angularjs中的异步调用?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何限制angularjs中的异步调用?

Javascript 如何限制angularjs中的异步调用?,javascript,angularjs,Javascript,Angularjs,这是我的密码 .state('appSetting',{abstract:true,url:'/appSetting/:appId',templateUrl:appUrl+'/appSetting/Index',controller:'AppSettingCtrl'}) .state('appSetting.majorObject列表',{url:'/majorObject',templateUrl:appUrl+'/majorObject/List',控制器:'majorObject SCT

这是我的密码

.state('appSetting',{abstract:true,url:'/appSetting/:appId',templateUrl:appUrl+'/appSetting/Index',controller:'AppSettingCtrl'})
.state('appSetting.majorObject列表',{url:'/majorObject',templateUrl:appUrl+'/majorObject/List',控制器:'majorObject SCTRL'})
主要目标SCTRL=[
“$scope”、“$state”、“uiGridConstants”、“$stateParams”、“$rootScope”、“dataFactory”、“cacheKeys”、“$window”、“ngDialog”、“$filter”、函数($scope、$state、uiGridConstants、$stateParams、$rootScope、dataFactory、cacheKeys、$window、ngDialog、$filter){
“严格使用”;
$scope.loadMajorObjects=函数(){
$scope.getData();
$scope.objectsList.data=$scope.filterData;
};
}];
AppSettingCtrl=[
“$scope”、“$state”、“$stateparms”、“$window”、“$sessionStorage”、“dataFactory”、“ngDialog”、“$q”、函数($scope、$state、$stateparms、$window、$sessionStorage、dataFactory、ngDialog、$q){
“严格使用”;
$scope.getData=函数(){
var appId=$scope.currentAppId;
变量类型=$scope.majorObject.type;
如果(u.isEmpty(appId)){
返回;
}
var deferred=$q.deferred();
//var cacheKey={key:cacheKeys.objectTypeList($scope.asCacheOptions({ObjectType:type}))};
dataFactory.get(“/MajorObject/All?applicationId=“+$scope.currentAppId+”&type=“+type”)
.然后(函数(结果){
$scope.selectAppSetting(“主要对象”);
$scope.filterData=result.data.data;
deferred.resolve($scope.filterData);
});
回报。承诺;
};
}];

@渲染页面(“\u TopNavBar.cshtml”)
搜寻

您应该从
getData
返回承诺。然后在
loadMajorObjects
中,您可以使用
链接它。然后
使用
$scope.filterData

$scope.getData = function () {
      var appId = $scope.currentAppId;
      var type = $scope.majorObject.type;
      if (_.isEmpty(appId)) {
          return $q.when();
      }
      //   var cacheKey = { key: cacheKeys.objectTypeList($scope.asCacheOptions({ ObjectType: type })) };
      dataFactory.get("/MajorObject/All?applicationId=" + $scope.currentAppId + "&type=" + type)
             .then(function (result) {
                 $scope.selectAppSetting('Major Objects');
                 return result.data.data;
             });
  };
下面是对
getData
的改进

$scope.getData = function () {
      var appId = $scope.currentAppId;
      var type = $scope.majorObject.type;
      if (_.isEmpty(appId)) {
          return $q.when();
      }
      //   var cacheKey = { key: cacheKeys.objectTypeList($scope.asCacheOptions({ ObjectType: type })) };
      dataFactory.get("/MajorObject/All?applicationId=" + $scope.currentAppId + "&type=" + type)
             .then(function (result) {
                 $scope.selectAppSetting('Major Objects');
                 return result.data.data;
             });
  };
loadMajorObjects

  $scope.loadMajorObjects = function () {
      $scope.getData().then(function(filterData) {
           $scope.objectsList.data = filterData;
      });
  };