Мне нужно получить значение вызова службы в файле app.component.ts
, мне нужно это значение до того, как будет загружено любое другое представление, потому что им нужно это значение из избыточного хранилища, и проверьте его в своих ngOnInit()
методах.
Я пытался использовать обещание и выполнить логику в методе .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));
}
}
service:
checkUserReportAccess(): Observable<boolean> {
return this.http.postAPI(AWS_GET_USER_REPORT_ACCESS_URL,
null).pipe(map(payload => {
let access = payload.json();
return access.HasAccess;
}));
}