每当api失败并返回404状态时,我试图向用户显示一个错误页面。在第一个屏幕中,你们可以看到我把错误的url放在了错误的场景中,所以api给出了错误404。我只需要处理这种情况。
在第二幅图中,您可以看到错误响应
问题是我在错误分派操作中得到了一个“null”,这只发生在这个api中,其他api工作正常。
影响2.ts:
@Injectable() export class PersonalDetailEffect {
constructor(private actions$: Actions, private personalDetailService: PersonalDetailService, private store: Store) {}
getCustomers$ = createEffect(() =>
this.actions$.pipe(
ofType(PersonalDetailActionTypes.LOAD_CUSTOMER),
mergeMap((action: any) => {
return this.personalDetailService.getCustomers(action.payload).pipe(
map(response => {
return new SetPersonalDetailsActionSuccess(response);
}),
catchError(error => of(new SetPersonalDetailPageError(error)))
);
})
)
);
服务台
public getCustomers(customerSearchModel: CustomerSearchModel): Observable<any> {
const params = {
idNumber: customerSearchModel.saIdNumber,
};
return this.http
.get(`${environment.CONSUMER_URL}/v1/customer-search1/${customerSearchModel.transactionId}/${sourceSystem}`, {
params,
observe: 'response',
})
.pipe(
map(response => {
return response.body;
})
);
}
主要问题是调用了setpersonaldetailpageerror,但如果错误为null,则应该有错误响应。
行动
export class SetPersonalDetailPageError implements Action {
readonly type = PersonalDetailActionTypes.LOAD_PERSONAL_DETAIL_ERROR;
constructor(readonly payload: any) {
console.log(payload);
}
}
错误操作:
console.log-in-action.ts值
我需要这样做。
暂无答案!
目前还没有任何答案,快来回答吧!