【发布时间】:2018-01-15 03:19:53
【问题描述】:
我试图保护我的路线,但收到一个错误
Type 'Subscription' is not assignable to type 'boolean
| Promise<boolean> | Observable<any>'
所以在路由守卫中有
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> | Promise<boolean> | boolean {
return this._authService.checkLoggedin().subscribe((res)=>{
if(!res){
console.log("res is not here..")
}
return res;
},(err)=>{
console.log("error is", err);
})
}
所以我有我的身份验证服务
checkLoggedin(): Observable<any> {
if (!this._accesstokenService.getToken('access_token')) {
return Observable.of(false); //just checks for localstorage
}
//if the access token exists validate it on the server
return this._http.post(this.authurl + 'auth/is-loggedin', 1)
.map((res) => {
return Observable.of(res);
});
}
我哪里错了。我仍然想继续使用 checkloggedin 方法中的 observable
【问题讨论】:
标签: angular typescript rxjs angular2-services