Я использую Angular 6. У меня есть служба с именем UserService
, которая вызывает функцию с именем getUser()
.
В функции, которую я хочу перейти на страницу входа, когда у пользователя есть недействительный токен.
getUser(){
this.user = JSON.parse(sessionStorage.getItem('currentUser'));
if (!this.user) {
this.router.navigate(['login']);
this.toastr.error('Unknown Logged In User');
return false;
}
this.token = this.user.token;
return this.user;
}
Я вызываю getUser во многих компонентах.например, в ActiveOrdersComponent
getCurrentUser() {
let loggedUser = this.userService.getUser();
if (loggedUser) {
this.info = {
currentUser: {
currentUserName: loggedUser.first_name + ' ' + loggedUser.last_name
}
}
}
return this.info.currentUser;
}
Я использую LazyLoader.
Мой исходный путь - '/auth/orders/active'
Путь входа в систему назначения '/login'
функция getUser()
не перемещается и не входит в бесконечный цикл.и браузер зависает с несколькими ошибками консоли.
функция возвращает значение false и продолжает выполнять код в компоненте (который будет прерываться, потому что я возвращаю значение false).