Я использую Rxjs с React (TS), и в моих эпосах у меня есть switchMap, где я вызываю API. Затем map и catchErrors, и я хочу передать ответ об ошибке моему редуктору, но он не работает.
Я нашел этот пример: https://redux -observable.js.org / docs / recipes / ErrorHandling.html
поэтому я использовал его:
switchMap((action) => from(Currencies.getAll(action.payload)).pipe(
map((currencies: any) => {
return ({type: FETCH_CURRENCIES_SUCCESS, payload: {
name: action.payload,
currencies: currencies,
}});
}),
catchError(error => of({
type: SEND_CURRENCIES_ERROR,
payload: error.xhr.response,
error: true,
}))
))
и мой бэкэнд возвращает код 422 с ошибками. Он достигает catchErrors и передает полезную нагрузку редуктору, но затем, если я запускаю console.log, я вижу стандартное сообщение об ошибке:
Error: Request failed with status code 422
at createError (createError.js:16)
at settle (settle.js:18)
at XMLHttpRequest.handleLoad (xhr.js:77)
На вкладке сети я вижу, что красный запрос и вкладка «Предварительный просмотр» - это ошибки, статус, заголовок и т. Д., Возвращаемые из бэкэнда. Как получить эти данные в моем эпосе?