$ cancelRequest不是函数

我使用的是angularjs 1.5.8。

我得到这个错误,当我试图取消HTTP请求与角:

$cancelRequest is not a function

我的代码:

app.factory('User', function($resource) { 

var getUsersResource = $resource(

'/users',

null,

{get : {method: 'GET', isArray: true, cancellable: true}}

);

return {

getUsers : function() {

return getUsersResource.get({},

function(data) {

...

}, function(error) {

...

}

);

}

};

});

app.controller('InitController', function($rootScope, User, ...) {

...

User.getUsers();

...

}

app.factory('AuthInterceptor', function($q, $location, $injector) {

return {

responseError: function(response) {

if (response.status === 401) {

$injector.get('$http').pendingRequests.forEach(

function (pendingReq) {

pendingReq.$cancelRequest();

}

);

$location.path('login');

}

return $q.reject(response);

}

};

});

你知不知道我怎样才能解决这个问题?

感谢

回答:

的文件表明,$cancelRequest应与资源对象使用。从我的初步审查来看,您在User工厂内正确使用$资源。但是,我不确定你是如何在AuthInterceptor工厂内实施这个的。它看起来并不像你使用User.getUsersSources()。因此,我相信你得到这个错误的原因是因为你没有正确使用$cancelRequestion。话虽如此,你可能忘记了包含代码的其他部分。

理想情况下,解析的$resource对象User.getUserResources()应传递到AuthInteceptor

以上是 $ cancelRequest不是函数 的全部内容, 来源链接: utcz.com/qa/265470.html

回到顶部