Angular 使用NgRx和拦截器的循环依赖性警告
我在我的拦截器中添加了一个dispatch来检查用户令牌是否过期以注销他们,但是由于某些原因,我收到了很多关于循环依赖性的警告Angular 使用NgRx和拦截器的循环依赖性警告,angular,ngrx,interceptor,circular-dependency,ngrx-store,Angular,Ngrx,Interceptor,Circular Dependency,Ngrx Store,我在我的拦截器中添加了一个dispatch来检查用户令牌是否过期以注销他们,但是由于某些原因,我收到了很多关于循环依赖性的警告 //角度 从“@angular/core”导入{Injectable}; 从'@angular/common/http'导入{HttpEvent,HttpInterceptor,HttpHandler,HttpRequest,HttpResponse}; 从'@angular/Router'导入{NavigationEnd,Router}; //RxJS 从“rxjs
//角度
从“@angular/core”导入{Injectable};
从'@angular/common/http'导入{HttpEvent,HttpInterceptor,HttpHandler,HttpRequest,HttpResponse};
从'@angular/Router'导入{NavigationEnd,Router};
//RxJS
从“rxjs”导入{Observable};
从“rxjs/operators”导入{tap};
//从“util”导入{debug};
//NGRX
从'@ngrx/Store'导入{Store};
//陈述
从“../../../../core/reducers”导入{AppState};
从“../../../../core/auth/”导入{Logout};
@可注射()
导出类拦截器服务实现HttpInterceptor{
构造函数(私有存储:存储){}
//拦截请求并添加令牌
拦截(
请求:HttpRequest,
下一步:HttpHandler
):可见{
//tslint:禁用下一行:无调试器
//修改请求
request=request.clone({
集合标题:{
授权:`${localStorage.getItem('authToken')}`
}
});
//log('--request---');
//控制台日志(请求);
//log('---请求结束---');
返回next.handle(request.pipe)(
水龙头(
事件=>{
if(HttpResponse的事件实例){
//log(“一切看起来都很好”);
//http响应状态代码
console.log(事件状态);
}
},
错误=>{
//http响应状态代码
//log('--response--');
//console.error('状态代码:');
//tslint:禁用下一行:无调试器
//控制台错误(错误状态);
console.error(error.error.error);
if(error.error.error!==未定义&&error.error.error.includes('Expired Token')){
警报(“您因从其他用户登录而注销”);
this.store.dispatch(new Logout());
}
//log('---响应结束---');
}
)
);
}
}
我遇到了与我解决的问题相同的问题,请您向我展示您的AppState和Logout@A.khalifa我已经添加了其他文件。您找到问题的答案了吗?