2016-11-02 2 views
0

Rückkehr i der folgende Code haben, erhält den aktuellen Benutzer-LoginAngular 2 beobachtbare 2 Ereignis in Folge Verkettungs und ein Endergebnis

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

und einen anderen Code, der das Ergebnis der ersten Funktion übernimmt, und führen eine Operation, die Rückkehr a boolean true/false

this._coreSecurityService.isAuthorized(user); 

Wie kann ich beide Operationen zusammen kombinieren? so etwas wie

canActivate():Observable<boolean> { 

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

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

} 

Antwort

2

Sie müssen das Ergebnis auf der Karte, in Ihrer Benutzerauthentifizierungsfunktion hinzufügen, zum Beispiel:

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

Ist Ihre Frage beantworten?

Verwandte Themen