Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Angularjs Angular$q.all对于已解决的所有承诺返回null_Angularjs - Fatal编程技术网

Angularjs Angular$q.all对于已解决的所有承诺返回null

Angularjs Angular$q.all对于已解决的所有承诺返回null,angularjs,Angularjs,我有一个$q.all函数,可以解决两个承诺。不过,在这两种情况下,当我使用一个值进行解析时,函数返回null。这个代码怎么了 var app = angular.module('app', []); app.controller('myCtl', function($scope,$q) { var promises = []; promises.push(function(){ var defer = $q.d

我有一个
$q.all
函数,可以解决两个承诺。不过,在这两种情况下,当我使用一个值进行解析时,函数返回null。这个代码怎么了

var app = angular.module('app', []);

app.controller('myCtl', function($scope,$q) {

            var promises = [];

            promises.push(function(){
                var defer = $q.defer();
                var val1 = "aaa";
                defer.resolve(val1);
                return defer.promise;
            });

            promises.push(function(){
                var defer = $q.defer();
                var val2 = "bbb";
                defer.resolve(val2);
                return defer.promise;
            });


            $q.all(promises).then(function(responses) { 
              $scope.responses = responses;
          });
});
这样做,

promises.push(function(){
  var defer = $q.defer();
  var val1 = "aaa";
  defer.resolve(val1);
  return defer.promise;
}());

promises.push(function(){
  var defer = $q.defer();
  var val2 = "bbb";
  defer.resolve(val2);
  return defer.promise;
}());
您只定义了函数,但必须使用

function () {
  // body
}();  <-- note the '()'
函数(){
//身体

}(); 您的
承诺
是一组函数,而不是承诺<代码>承诺.推送(函数()