Angular Rxjs可观测+;用于检查用户是否已登录的角度保护

Angular Rxjs可观测+;用于检查用户是否已登录的角度保护,angular,rxjs,Angular,Rxjs,设置:我有一个LoggedInGuard(注入了AuthService)。在AuthService的构造函数中,我订阅了http.get,以根据服务器的响应设置this.loggedIn=true 问题:当用户已经登录(另一个选项卡或过去的某个时间)并在http.get完成时直接登录到路由(即LoggedInGuard保护)上时,LoggedInGuard检查this.loggedIn并假设用户未登录。如何在http.get完成之前阻止保护?所需的行为是默认情况下保护的工作方式。也许你有一个错误

设置:我有一个
LoggedInGuard
(注入了
AuthService
)。在AuthService的构造函数中,我订阅了http.get,以根据服务器的响应设置
this.loggedIn=true


问题:当用户已经登录(另一个选项卡或过去的某个时间)并在
http.get
完成时直接登录到路由(即
LoggedInGuard
保护)上时,
LoggedInGuard
检查this.loggedIn并假设用户未登录。如何在http.get完成之前阻止保护?

所需的行为是默认情况下保护的工作方式。也许你有一个错误。你忘了
返回
激活
可以返回一个
可观察的
,所以返回一个包含HTTP请求的组件。@cartan哦,是的,但我没有使用它的原因是:在LoggedInGuard中,我有额外的逻辑:如果用户不是loggedIn,我需要
这个.router.navigate(['/auth/login'])