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 '()'
函数(){
//身体
}(); 您的承诺
是一组函数,而不是承诺<代码>承诺.推送(函数()