How to return observable from subscribe

后端 未结 6 1862
萌比男神i
萌比男神i 2020-12-04 15:16

I\'m trying to return an observable when I get a certain value in a subscriber, but I fail miserably.

This is the code:

canActivate(route: Activated         


        
6条回答
  •  醉话见心
    2020-12-04 16:07

    You can create a new observable, and fire the event according to the access level.

    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):Observable {
        // get route to be activated
        this.routeToActivate = route.routeConfig.path;
    
        // get user access levels
        return new Observable(subscriber=>{
           this._firebase.isUserAdmin
            .map(user => user.access_level)
            .subscribe(access => {
               // Return an observable!
               // Change your logic here...
               return access === XXX ? subscriber.next(true) : subscriber.next(false);
            }, err => subscriber.error());
        })
    }
    

    Reference: https://rxjs-dev.firebaseapp.com/guide/observable

提交回复
热议问题