我正在使用路由保护器(或解析器,我曾尝试使用其中一个,但遇到了相同的错误),我想将Observable用作返回值:
canActivate(): Observable<boolean> {
return this.store.pipe(
select(fromUserProfileState.getUserProfiles),
tap((loaded: UserProfile[]) => {
if (!loaded || loaded.length == 0) {
this.store.dispatch(new fromUserProfileActions.LoadUPs());
} else {
return of(true);
}
}),
filter((loaded: UserProfile[]) => loaded.length > 0),
first()
);
}
但是,这不会返回Observable,它会返回Observable,这是不可接受的。如何调整rxjs(v 6.5.5)运算符以仅返回Observable?