Je suis en train de retourner une observable lorsque je reçois une certaine valeur à un abonné, mais j'échoue lamentablement.
C'est le code:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):Observable<boolean> {
// get route to be activated
this.routeToActivate = route.routeConfig.path;
// get user access levels
return this._firebase.isUserAdmin <-- returns Subscription, not Observable
.map(user => user.access_level)
.subscribe( access => {
// I need to return an observable here
});
}
Il n'y a pas beaucoup de ressources sur les phénomènes observables dans angulaire 2, donc je ne sais pas par où commencer. N'importe qui peut aider avec ce s'il vous plaît?
Mise à JOUR -> Version de Travail
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):Observable<boolean> {
// get route to be activated
this.routeToActivate = route.routeConfig.path;
// get user access levels
return this._firebase.isUserAdmin
.map(user => {
let accessLevel = user.access_level;
if (accessLevel === 'admin' ) {
return true;
}
}).first();
}