首页 文章

将观察结果传递给另一个可观察者

提问于
浏览
1

canActivate route事件接受boolean observable .

我想从authService.getUser()返回实例化的用户对象或null .

根据用户值,我想将true / false返回给boolean 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");
    }

1 回答

  • 3
    return this.authService.getUser()
      .do(user => {
        if (user == null) { 
          this.authService.startSigninMainWindow();
        }
      })
      .map(user => !!user);
    

相关问题