背景:
我正在构建angular 2应用程序(带有Firebase API).我正在使用AngularFire模块.我想知道如何将canActivate
方法与AngularFire auth Observable相结合,我找到了this post.答案是让canActivate
方法返回Observable<boolean>
:
canActivate(): Observable<boolean> {
return this.auth
.take(1)
.map((authState: FirebaseAuthState) => !!authState)
.do(authenticated => {
if (!authenticated) this.router.navigate(['/login']);
});
}
这是我第一次看到可观测的do
算符,但我不明白它到底是做什么的?官方doctor 没有帮我,我也没有找到像样的例子.
问题:
有没有人能给我举几个.do()
种用法的例子?和.subscribe()
有什么不同?