Angular $ q promise错误:对象不是函数

时间:2014-11-13 16:17:22

标签: 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);
        });
    });
};

但如果使用延迟API:

编写
service.fetch = function(query) {
    var deferred = $q.defer();
    $http({ url: srcset[query], method: 'GET'}).success(function(db){
        deferred.resolve(db);
    });
    return deferred.promise;
};

工作正常

我的写作与https://docs.angularjs.org/api/ng/service/ $ q

中提到的完全相同

任何人都可以指出我哪里出错了。

1 个答案:

答案 0 :(得分:6)

您链接的文档是最新的,可能不是正确的角度版本。之前犯了这个错误。

1.2.25 (Stable) Docs for $q