Ich habe einen AuthGuard (für das Routing verwendet), der CanActivate implementiert .
canActivate() {
return this.loginService.isLoggedIn();
}
Mein Problem ist, dass das CanActivate-Ergebnis von einem http-get-Ergebnis abhängt - der LoginService gibt ein Observable zurück .
isLoggedIn():Observable<boolean> {
return this.http.get(ApiResources.LOGON).map(response => response.ok);
}
Wie kann ich diese zusammenbringen - damit CanActivate von einem Backend-Status abhängt?
# # # # # #
EDIT: Bitte beachten Sie, dass diese Frage aus dem Jahr 2016 stammt - ein sehr frühes Stadium von Angular / Router wurde verwendet.
# # # # # #
canActivate()
kann ein zurückgeben Observable
, stellen Sie einfach sicher, dass das Observable
abgeschlossen ist (dh. observer.complete()
).
take(1)
Rx-Operators, um die Vollständigkeit des Streams zu erreichen. Was ist, wenn ich vergesse, ihn hinzuzufügen?