当我缩小/模糊/丑化我的代码时,我的httpInterceptor不再工作了。
我得到以下错误:
Error: error:unpr
Unknown Provider
Unknown provider: aProvider <- a我的代码中删除了所有无关的内容:
angular.module("MyApp").factory('sessionChecker', ['$q', '$injector',
function ($q, $injector) {
var sessionRecoverer = {
responseError: function (response) {
// Session has expired
if (response.status === 401) {
var $location = $injector.get('$location');
var $modal = $injector.get('$modal');
$location.path("/login");
} else if (response.status === 500) {
var $location = $injector.get('$location');
//Do stuff..
} else if (response.status === 0) {
var $modal = $injector.get('$modal');
//Do stuff..
}
return $q.reject(response);
}
};
return sessionRecoverer;
}]);
angular.module("MyApp").config(['$httpProvider',
function ($httpProvider) {
$httpProvider.interceptors.push('sessionChecker');
}]);我如何正确地注入我的依赖关系,或者我是不是遗漏了什么?这是很好的工作,而不缩小我的代码。
任何帮助都将不胜感激。
发布于 2015-02-26 10:06:55
您确定是这段代码生成了错误吗?(这段代码在我看来没问题.)但是,此错误肯定是由于不使用['dep1', dep2', function(dep1,dep2){...}]语法(或与$inject等效)而引起的。
您可以尝试严格的DI模式,这样角将报告非小型化模式(参考文献)中的错误:
<div ng-app="myApp" ng-strict-di>或者(如果手动引导):
angular.bootstrap(document, ['myApp'], {
strictDi: true
});https://stackoverflow.com/questions/28739214
复制相似问题