我想发布 Angular 应用程序内部发生的错误。
我遵循了这个 related question 中给出的方法,正如答案中所建议的那样,我注入(inject)了 $injector,然后从那里获得了 $http 服务。 但是线
Uncaught Error: Circular dependency: $http <- $exceptionHandler <- $rootScope
持续不断。
here is the fiddle with the problem
相关代码:
var mod = angular.module('test', []);
mod.config(function ($provide) {
$provide.decorator("$exceptionHandler", ['$delegate', '$injector', function ($delegate, $injector) {
var $http = $injector.get("$http");
}]);
});
mod.controller('testCtrl', function ($scope) {
});
如果你注释行
var $http = $injector.get("$http");
循环依赖错误消失了。
我想我在理解中遗漏了一些东西。我究竟做错了什么?毕竟,这似乎对其他人有用。
也欢迎就如何实现“将错误发布到服务”这一最初目标提出任何建议。
谢谢大家
请您参考如下方法:
将你的注入(inject)器代码包装在函数中
var mod = angular.module('test', []);
mod.config(function ($provide) {
$provide.decorator("$exceptionHandler", ['$delegate', '$injector',function ($delegate, $injector) {
return function (exception, cause) {
var $http = $injector.get("$http");
}
}]);
});
mod.controller('testCtrl', function ($scope) {
});