Sag*_*rma 4 angularjs angular-promise
我有一个工厂方法有$ http(异步任务),所以我使用$ q promise并发生以下错误TypeError: object is not a function@line:return $ q(funtion ....)
使用Promise API编写:
service.fetch = function(query) {
return $q(function(resolve, reject){
$http({ url: srcset[query], method: 'GET'}).success(function(db){
resolve(db);
});
});
};
Run Code Online (Sandbox Code Playgroud)
但如果使用Deferred API编写:
service.fetch = function(query) {
var deferred = $q.defer();
$http({ url: srcset[query], method: 'GET'}).success(function(db){
deferred.resolve(db);
});
return deferred.promise;
};
Run Code Online (Sandbox Code Playgroud)
它工作正常
我写的完全如https://docs.angularjs.org/api/ng/service/ $ q中所述
任何人都可以指出我哪里出错了.