在 NGRX 效果 Angular 中访问 HTTP Header 响应

Access HTTP Header response inside NGRX Effect Angular

在我的 Angular 应用程序中,在成功向服务器发出 POST 后,我收到一个 201 响应,其中包含响应 header 中我希望在我的 NGRX 中访问的位置效果。该位置包含一个 id,我需要它来触发服务调用。

NGRX 操作:

export const postJobOfferSuccess = createAction('[JobOffer] Post jobOffer success', props<{ successMessage: string, publish: boolean, final: boolean, response: HttpHeaderResponse }>());

NGRX 效果:

postJobOffer$ = createEffect(() =>
    this.actions$.pipe(
        ofType(postJobOffer),
        mergeMap(action => {
            return this.jobOfferClientService.postJobOffer(action.jobOffer).pipe(
                map((response) => postJobOfferSuccess({ successMessage: 'Success', publish: action.publish, final: action.final, response: response.HttpHeaderResponse })),
                mapErrorToAction(postJobOfferFailed)
            );
        })
    )
);

我希望我的 postJobOfferSuccess 包含带有 HTTPHeaderResponse 的响应,但是在检查我的 redux 选项卡时它没有显示 header 响应。如何在效果中访问 HTTPHeaderResponse?

我的 redux 选项卡:

在您的服务中,您必须倾听回应:


this.http.post('http//...', payload, { observe: 'response' }).pipe(
  tap(res => console.log(res)) // headers = res.headers | data = res.body
);