Angular 6 我可以订阅订阅吗
Angular 6 can I subscribe subscription
我不太明白如何正确处理 observable。所以我的代码有问题。
在服务中我有两种方法:
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() //?
}
如何正确处理?我应该 return isAuthenticated as Observable 吗?并订阅守卫?
我觉得应该是这样的。
授权服务:
import { map } from "rxjs/operators";
isAuthenticated(){
return this.verify().pipe(map(response => response));
}
后卫:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot {
return this.auth.isAuthenticated();
}
我不太明白如何正确处理 observable。所以我的代码有问题。
在服务中我有两种方法:
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() //?
}
如何正确处理?我应该 return isAuthenticated as Observable 吗?并订阅守卫?
我觉得应该是这样的。
授权服务:
import { map } from "rxjs/operators";
isAuthenticated(){
return this.verify().pipe(map(response => response));
}
后卫:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot {
return this.auth.isAuthenticated();
}