AngularJs Circular Dependency for Interceptor



我有以下循环依赖关系:

            $http
            /   
           /     
          /       
         /         
LoginManager------Interceptor
 (service)         (factory)

这种循环依赖关系是在我添加拦截器代码后才出现的。

Interceptor将在LoginManager中调用注销函数,以防拦截某个response

据我所知,唯一的解决方案是将拦截器代码作为anonymous factoryLoginManager服务内移动

有没有更好的方法?

可以通过使用 injector 服务在运行时获取 LoginManager 实例来避免循环依赖关系。

var loginManager = $injector.get('LoginManager');

只需确保在拦截器的方法之一(例如responseError)中使用此代码,而不是直接在拦截器创建代码中。

最新更新