• 1000 1005 *
canLoad(): Observable<boolean> {
return this.authCheckGuardService.getAuthWhenReady()
.pipe(
tap((isNotAuthenticated: boolean) => {
console.log(isNotAuthenticated);
if (!isNotAuthenticated) {
this.router.navigate(['']);
}
}))
}
и помощник службы:
getAuthWhenReady() {
return this.isAuthLoading$
.pipe(tap((loaded) => {
if(!loaded) {
this.store.dispatch(new CheckUser());
}
}), filter(x => x), take(1), switchMap((res) => {
return this.isAuthenticated$.pipe(take(1))
}));
}
Я пытаюсь быть уверенным, что наблюдаемое завершено к take(1)
, но оно все еще не работает (когда я посетить конкретный маршрут он замораживается или идет в бесконечность l oop)
Итак, как вы управляете асинхронными охранниками в своих универсальных приложениях?