Angular 6 можно подписаться на подписку - PullRequest
0 голосов
/ 18 мая 2018

Я не совсем понимаю, как правильно обращаться с наблюдаемым.Поэтому у меня есть проблема с моим кодом.

В сервисе у меня есть два метода:

verify(): Observable<any> {
  return this.http.post(some_url);
}

// and

isAuthenticated(){
  this.verify().subscribe(
    data => {return true;},
    error => {return false;})
}

И в целях защиты я вызываю метод isAuthenticated, и мне нужно получить от него логическое значение.

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
  return this.auth.isAuthenticated() //?
}

Как правильно обращаться с этим?Должен ли я вернуть isAuthenticated в качестве наблюдаемого?А подписаться в карауле?

1 Ответ

0 голосов
/ 18 мая 2018

Я думаю, что это должно быть что-то вроде этого.

Служба аутентификации:

import { map } from "rxjs/operators";

isAuthenticated(){
  return this.verify().pipe(map(response => response));
}

Охрана:

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot {
    return this.auth.isAuthenticated();
}
...