考虑以下示例:
.service('movieGetter', ['$q', '$timeout', function ($q, $timeout) {
this.getData = function () {
var deferred = $q.defer();
$timeout(function(){
mock.getData(function(data){
deferred.resolve(data);
});
}, 2000);
return deferred.promise;
};
}]);
由于某种原因,此代码不起作用,当行 deferred.resolve() 触发回调时,控制器中的 then 不起作用
另一方面,这个例子工作正常:
.service('movieGetter', ['$q', '$timeout', function ($q, $timeout) {
this.getData = function () {
var deferred = $q.defer();
$timeout(function () {
deferred.resolve('test');
}, 2000);
return deferred.promise;
};
}]);
出于某种原因,当 deferred.resolve() 在回调内部触发时,控制器上的 then 回调不起作用。
有任何想法吗?
谢谢!