Angular 2可观察链接2连续事件并返回最终结果

时间:2016-11-02 03:17:58

标签: angular routing rxjs

我有以下代码获取当前登录用户

 this._settingsUsersService.getCurrentLoginUser().subscribe(res=>{
     this.user = res;
 })

和另一个代码,它获取第一个函数的结果并执行返回布尔值true / false的操作

this._coreSecurityService.isAuthorized(user);

我如何将两种操作结合​​在一起?

之类的东西
 canActivate():Observable<boolean> {

     this._settingsUsersService.getCurrentLoginUser().subscribe(res=>{
        this.user = res;
     })

    return this._coreSecurityService.isAuthorized(this.user);

 }

1 个答案:

答案 0 :(得分:2)

您需要映射结果,添加您的用户身份验证功能,例如:

 this._settingsUsersService.getCurrentLoginUser()
            .map(result => coreSecurityService.isAuthorized(result))
            .subscribe(res => 
               // do something
            )

这会回答你的问题吗?