То, что я пытаюсь выполнить sh, - это посмотреть, существует ли уже сеанс пользователя, и, если да, зарегистрируйте его. Но у меня возникают проблемы с тем, как это правильно выполнить. Скорее всего, это связано с порядком выполнения кода, но я не понимаю, что делать, чтобы решить эту проблему. Возможно asyn c?
Получение:
TypeError: невозможно прочитать свойство 'subscribe' неопределенного
Sidebar.component.ts:
ngOnInit(): void {
this.authService.isLoggedIn.subscribe(res => {
if (res){
this.isLoggedIn = true;
} else {
this.isLoggedIn = false;
}
});
}
auth.service.ts:
get isLoggedIn(): Observable<boolean> {
const authToken = this.cookieService.get('cookiehere');
// console.log(authToken);
if (authToken) {
this.getUserBySession(authToken).subscribe(res => {
console.log(res);
return of(true);
}, error => {
return of(false);
});
}
if (!authToken){
console.log('No token found!');
return of(false);
}
}
getUserBySession(session) {
return this.http.get(`${this.apiPrefix}/auth/get_user_by_session?session=${session}`, { headers: this.headers })
.pipe(map((res: any) => {
if (res.user) {
this.currentUser = res.user;
return res;
} else {
return res;
}}));
}