firebase - How to make an observer to return as observable? -


i'm new rxjs , on how solve this.

i want pass observer onauthstatechanged(), takes observer object. observer work , emit boolean value such boolean value can returned observable. how go implement bridge of observable observer?

export class authguard implements canactivate {  constructor(private firebase: firebaseservice, private router: router) { }  canactivate(): observable<boolean> {     this.firebase.auth.onauthstatechanged(/* observer */)     return /* observable<boolean> */     } } 

to benefit others, here's ended writing , seems work well.

import 'rxjs/add/operator/do'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/take';  import { observable } 'rxjs/observable'; import { replaysubject } 'rxjs/replaysubject'; import { injectable } '@angular/core'; import { canactivate, router } '@angular/router'; import { firebaseservice } '../shared/firebase.service';   @injectable() export class authguard implements canactivate {      loggedinsubject: replaysubject<any>;      constructor(private firebase: firebaseservice, private router: router) {         this.loggedinsubject = new replaysubject(1);         this.firebase.auth.onauthstatechanged(this.loggedinsubject);     }      canactivate(): observable<boolean> {         return this.loggedinsubject.map(user => {             if (!user) {                 this.router.navigate(['/login']);             }             console.log('authenticated?', !!user);             return !!user;         }).take(1);     }  } 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -