我有一个带有以下签名的
的Angular服务function test(param1, param2, param3) {
var deferred = $q.defer();
if(!param1 || !param2) {
deferred.reject();
return deferred;
} else {
deferred.resolve();
}
var helper1 = function(){};
var helper2 = function(){};
return deferred;
}
当被召唤时
test().then(function(){ }, function(){ });
未执行已解决或已拒绝。我做错了什么?
答案 0 :(得分:2)
你需要从deffer对象返回promise。
function test(param1, param2, param3) {
var deferred = $q.defer();
if(!param1 || !param2) {
deferred.reject();
} else {
deferred.resolve();
}
var helper1 = function(){};
var helper2 = function(){};
return deferred.promise;
}