2016-11-02 1 views
0

я следующий код получает текущий пользователь для входа вУглового 2 наблюдаемая цепочки 2 события в последовательности и возвращают конечный результат

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

и другой код, который принимает результат первой функции и выполнять операции, которые возвращают boolean true/false

this._coreSecurityService.isAuthorized(user); 

Как я могу объединить обе операции вместе? что-то вроде

canActivate():Observable<boolean> { 

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

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

} 

ответ

2

Вам необходимо отобразить результат, добавляя в функции Идента пользователя, например:

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

это ответ на ваш вопрос?