$ 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