В моем проекте react
, включая react-redux
, я пытаюсь использовать yield
в функции ошибки перехвата для запроса axios
, например:
const result = yield axios.put(REQUEST_API, data, config)
.catch(error => {
yield put({ type: SET_MESSAGE, message: `ERROR_HAPPENED: ${error.response.data.status}` });
});
Но в качестве Функция catch error не является генератором, я получаю эту ошибку:
Ошибка синтаксического анализа: неожиданное зарезервированное слово 'yield'
Поэтому я попытался изменить функцию ошибки к генератору:
const result = yield axios.put(REQUEST_API, data, config)
.catch(function* (error) {
yield put({ type: SET_MESSAGE, message: `ERROR_HAPPENED: ${error.response.data.status});
});
Но теперь я получаю это предупреждение от eslint
:
Неожиданная функция генератора без имени.
I Я не уверен, что не так с этим подходом, но этот способ axios
никогда не улавливает ошибку!
Поэтому есть ли лучшая практика отправлять действие с yield put
, если в запросе axios
произошла ошибка