我有一项服务,检查用户是否有权打开路线。
@Injectable()
export class GuardService implements CanActivate{
user: User;
constructor(private _userService: UserService) {
}
canActivate(): any{
return this._userService.getUser().subscribe(user => {
if(user.user_type == 'admin'){
return true;
}
return false;
});
}
但问题是它永远不会过去。问题在于这种可观察性,但我不知道如何处理它。我怎样才能做到这一点?提前致谢
答案 0 :(得分:6)
通过将Observable
更改为Subscription
subscribe
而不是map
canActivate(): any{
return this._userService.getUser().map(user => {
if(user.user_type == 'admin'){
return true;
}
return false;
}); // <<== added
}