Я хочу создать отдельный класс, который будет обрабатывать все мои API-запросы, сообщения и т. Д. Для моих редукционных действий, как это иногда делается, таким образом, мой код действия редукса более минималистичен и выполняет меньше работы.Однако, когда возникают ошибки, я должен убедиться, что мои действия перехватывают эти ошибки и правильно отправляют их в мой соответствующий редуктор.Я путаюсь с тем, что сама моя функция API также отлавливает ошибки, и мне интересно, что если ошибка произойдет первой, будет ли она сначала обнаружена в моей функции API, и, таким образом, я не улавливаю ошибку в своей функции действия, поэтому никогдаотправить указанную ошибку?Как мне избежать этой проблемы?Могу ли я не отлавливать ошибки в моей функции API, а просто перенаправить их как-нибудь на мои действия?Или мне нужно отправить requestDataFailure
в мою функцию API?Спасибо.
Действие:
export const fetchData = () => async (dispatch) => {
dispatch(requestData());
try {
const json = await ApiClass.getData();
dispatch(receiveData(json.data));
} catch (error) {
dispatch(requestDataFailure(error));
}
};
Класс API:
import HttpService from './httpServce';
export default class ApiClass {
static async getData() {
try {
const response = await HttpService.get('api/get-data');
return response.json;
} catch (error) {
throw Error(error.message);
}
}
}