Ish*_*are 3 circular-dependency angularjs angular-http-interceptors
我有以下循环依赖:
$http
/ \
/ \
/ \
/ \
LoginManager------Interceptor
(service) (factory)
Run Code Online (Sandbox Code Playgroud)
这个循环依赖只在我添加了Interceptor的代码后才出现.
InterceptorLoginManager如果某个response被截获,将调用注销功能.
从我看到的,唯一的解决方案是将拦截器代码移动到
LoginManager服务中anonymous factory
有没有更好的方法?
您可以通过使用injector服务LoginManager在运行时获取实例来避免循环依赖.
var loginManager = $injector.get('LoginManager');
Run Code Online (Sandbox Code Playgroud)
只需确保在拦截器的某个方法(例如responseError)中使用此代码,而不是直接在拦截器创建代码中使用.
| 归档时间: |
|
| 查看次数: |
1114 次 |
| 最近记录: |