Angular身份验证保护,内存问题

时间:2019-07-27 11:07:35

标签: angular

我使用的是一个authguard,它正在检查一个函数的真实性,该函数只是简单地将一个get请求发送到服务器而无需身份验证,但是当我在浏览器中打开该应用程序时,它将占用大量RAM

我不确定这是什么原因,但是当我删除该函数的代码时,应用程序运行就没有任何问题

check login function:

checkLogin(){
 return this.http.get<String>(environment.url + '/users/me', { 
 withCredentials: true }).pipe(catchError(this.errorHandler));
 }

 is user logged in function:

 isUserLoggedIn() {
 let user = sessionStorage.getItem('username');
 this.checkLogin().subscribe(error => {
 sessionStorage.clear();
 }
 return !(user === null);
 );

 Auth guard:
 export class AuthGuardService implements CanActivate {
 constructor(private router: Router,
 private authService: AuthenticationService) { }
 canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
 if (this.authService.isUserLoggedIn())
 return true;
 this.router.navigate(['login']);
 return false;
 }
 }

当我调用方法get时发生错误,但是它一直显示在控制台上!

0 个答案:

没有答案
相关问题