我需要在app.component.ts
文件中获取服务调用值,在加载任何其他视图之前需要此值,因为他们需要从redux存储中获取该值并在其ngOnInit()
方法中进行检查。 / p>
我尝试使用promise并在.then()方法中执行逻辑...,没有用。我也尝试过使用可观察的方法
next: x =>, error: err => and complete: () =>
,但是相同的问题仍然存在:我没有得到预期的行为,因为当其他视图初始化时,它们从存储中获取了空值,因为该服务当时还没有完成返回。
我找到了resolver()功能,但是由于app.component.ts
没有像其他组件一样被路由,所以我不能使用它。
app.component.ts
ngOnInit() {
this.storeUserReportAccessService.checkUserReportAccess().subscribe((response) => {
this.store.dispatch(new StoreUserReportAccess(response));
}
}
服务:
checkUserReportAccess(): Observable<boolean> {
return this.http.postAPI(AWS_GET_USER_REPORT_ACCESS_URL,
null).pipe(map(payload => {
let access = payload.json();
return access.HasAccess;
}));
}