gpt4 book ai didi

javascript - 在重写的 $exceptionHandler 中使用 $http 时修复循环依赖吗?

转载 作者:行者123 更新时间:2023-11-28 13:34:05 25 4
gpt4 key购买 nike

我通过注入(inject) $http 覆盖了 $exceptionHandler。我这样做是因为我向服务器记录了错误。

Module.factory('$exceptionHandler', ['$http', function ($http) {
"use strict";
//code
}

但是我还有一个拦截器来添加我的 $httpProvider:

Module.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('special-http');
}]);

这是拦截器(我将其包装在工厂中):

Module.factory('special-http', ['$templateCache', function($templateCache) {
"use strict";

return {
'request': function(config) {

if ($templateCache.get(config.url)){
return config;
}

//some logic

return config;
}
}
}]);

编辑_______________________>_____________

修复“$http”的名称后

我现在收到此错误:

Uncaught Error: [$injector:cdep] Circular dependency found: $http <- $exceptionHandler <- $rootScope
http://errors.angularjs.org/1.2.1/$injector/cdep?p0=%24http%20%3C-%20%24exceptionHandler%20%3C-%20%24rootScope

最佳答案

您可以稍后注入(inject)$injector来获取$http:

Module.factory('$exceptionHandler', ['$injector', function ($injector) {
"use strict";

return function (exception, cause) {
var $http = $injector.get('$http');
// code
};
}

参见this fiddle

关于javascript - 在重写的 $exceptionHandler 中使用 $http 时修复循环依赖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com