我在 SomeService 中有 NGXS 选择器
@Select(state => state.sample)
public sample$: Observable<Sample>;
我在这样的 Angular RouteGuard 中使用它
getSample(): boolean {
this.someService.sample$.subscribe({
next: (sample: Sample) => {
if (isValid(sample)) {
return true;
} else {
return false;
}
},
error: () => {
return false;
}
});
}
canActivate(): boolean {
return this.getSample();
}
我收到一个错误“声明类型既不是 'void' 也不是 'any' 的函数必须返回一个值”。我知道原因,因为它没有返回订阅之外的任何内容,但我只想在执行订阅时返回。