Contexte :
Je suis en train de construire une application angulaire 2 (avec une API Firebase). J'utilise le module AngularFire. Je me demandais comment je peux mélanger le module canActivate
avec l'Observable d'authentification AngularFire, et j'ai trouvé ce poste . La réponse est de rendre le canActivate
renvoie un Observable<boolean>
:
canActivate(): Observable<boolean> {
return this.auth
.take(1)
.map((authState: FirebaseAuthState) => !!authState)
.do(authenticated => {
if (!authenticated) this.router.navigate(['/login']);
});
}
C'est la première fois que je vois l'Observable do
et je n'arrive pas à comprendre ce qu'il fait vraiment ? La documentation officielle ne m'a pas aidé, et je n'ai pas trouvé d'exemples décents.
Question :
Quelqu'un peut-il apporter ici des exemples de .do()
usage ? Et la différence avec .subscribe()
?