canActivate route事件接受boolean observable。
我想从authService.getUser()返回实例化的用户对象或null。
根据用户值,我想将true / false返回给布尔值observable。
我该怎么做?
canActivate() : Observable<boolean>
{
let userObservable = this.authService.getUser();
userObservable.subscribe((user) => {
if (user == null) {
this.authService.startSigninMainWindow();
return false;
}
else
{
return true;
}
});
return new Observable<boolean>("I want to pass here the 'future' result of the userObservable");
}
答案 0 :(得分:3)
return this.authService.getUser()
.do(user => {
if (user == null) {
this.authService.startSigninMainWindow();
}
})
.map(user => !!user);