当我尝试将$ http注入到覆盖的工厂中时,出现错误:
未捕获的错误:[$ injector:cdep]找到循环依赖项:$ http <-$ exceptionHandler <-$ rootScope
AngularModule.factory('$exceptionHandler', function ($http) {
任何想法如何解决?如果我使用[]注入,则$ http是未定义的
编辑 ___ _ ___ ___ _
根据下面的答案,我尝试了:
MyModule.config(function($provide, $http) {
$provide.decorator("$exceptionHandler", function($delegate) {
return function(exception, cause) {..
但我仍然收到循环错误:
未捕获的错误:[$ injector:cdep]找到循环依赖项:$ http <-$ exceptionHandler <-$ rootScope
注入$injector
,然后$http
从那里获取服务。像这样:
AngularModule.factory('$exceptionHandler', function ($injector) {
var $http = $injector.get("$http");
参见https://groups.google.com/forum/#!topic/angular/lbFY_14ZtnU/discussion
但是,这将完全覆盖$exceptionHandler
Angular提供的功能。
问题内容: 我正在努力实现的目标 如果$ http请求返回401错误,我想过渡到某个状态(登录)。因此,我创建了一个$ http拦截器。 问题 当我试图将’$ state’插入拦截器时,我得到了循环依赖。为什么以及如何解决? 码 问题答案: 修复 使用服务获取对服务的引用。 原因 angular-ui-router将服务作为依赖项注入,然后在分派拦截器时在其内部创建对自身的循环引用。 如果您尝试将
问题内容: 我正在尝试为AngularJS应用编写HTTP拦截器以处理身份验证。 这段代码有效,但是我担心手动注入服务,因为我认为Angular应该自动处理此问题: 我刚开始做的事情,但是遇到了循环依赖问题: 我担心的另一个原因是Angular Docs中$ http上 的部分似乎显示了一种将依赖项注入“常规方式”到Http拦截器中的方法。请参阅“拦截器”下的代码段: 上面的代码应该放在哪里? 我
我对react钩子和效果有点陌生,在使用useEffect时遇到了问题 上面的代码是我构建的useEffect,用于使用axios获取数据库中的所有数据,并且我将所有数据放在一个称为reports的状态中。 但是当我console.log报告时,它会导致无限循环。我不知道为什么? 让我给你看一个我做的简单动作。 我正在做一个按钮,当它被点击时,报告的状态(按id)将被更新。 这是该州报告结构的样本
问题内容: 我试图弄清楚为什么页面在单击时没有导航到其模板。URL更新,并且我没有JS错误。。我相信它 会加载 文件,但随后会无限加载控制器。我在SessionsController的实例化中添加了代码后,发现了这一点。 布局 我的看法 我的JS 在里面,我有个大而光明的人: 问题答案: 我唯一看到的是缺少括号和逗号。您可以尝试以下方法:
我正在尝试使用Guice 3.0,它不会实例化工厂。 SSCCE代码: < code>BarImpl与< code>FooImpl非常相似。这里出了什么问题?还要注意,我在这里尝试了< code>@AssistedInject和< code>@Inject,两者都会导致错误。 输出: 请注意,第 9 行是对 的第一次调用的行