内容:
我正在构建一个angular 2应用程序(带有Firebase API)。我正在使用AngularFire模块。我想知道如何将canActivate
方法与AngularFire auth Observable 混合使用,并且发现了这篇文章。答案是使canActivate
方法返回Observable<boolean>
:
canActivate(): Observable<boolean> {
return this.auth
.take(1)
.map((authState: FirebaseAuthState) => !!authState)
.do(authenticated => {
if (!authenticated) this.router.navigate(['/login']);
});
}
这是我第一次看到Observable do
运算符,但我不明白它的真正作用是什么?官方文档并没有帮助我,也没有找到像样的例子。
题:
有人可以带一些.do()
用法示例吗?和不同.subscribe()
吗?
subscribe
吗?是否do
做同样的事情?能给我一些例子吗?THX的回复反正 - soywod 10:12 12月4日'16router.navigate
返回的observablethis.auth
发出第一个值时,将调用@ user2153465 。 - 君特Zöchbauer 8月19日'17 20:30subscribe()
否则可执行文件将不会执行任何操作,也不会调用do(...)
。 - 君特Zöchbauer 5月29日9:16时