Я строил систему входа в свое приложение и обнаружил странное поведение функции отправки.
Я использую React с Redux, Redux-Thunk и Redux-Form.В моем файле actions / index.js после выполнения запроса axios функция отправки, когда я использую синтаксис .then (). Catch (), работает отлично, но когда я перехожу на асинхронный / ожидающий синтаксис, вторая отправка не 'больше не работает.Я пытаюсь найти объяснение в Интернете, но я не нашел ничего, что прояснило бы мою проблему.Кто-нибудь знает, почему это происходит?
Версия, которая отлично работает:
export const submitLoginForm = values => dispatch => {
axios.post(
'/auth/local/login',
qs.stringify({
email: values.email,
password: values.password
})
)
.then(res => {
dispatch({ type: FETCH_USER, payload: res.data });
})
.catch(err => {
dispatch(
stopSubmit('enterpriseLogin', {
_error: 'Error description...'
})
);
});
}
Версия, в которой вторая отправка не работает:
export const submitLoginForm = values => async dispatch => {
try {
const res = await axios.post(
'/auth/local/login',
qs.stringify({
email: values.email,
password: values.password
})
);
dispatch({ type: FETCH_USER, payload: res.data });
} catch (err) {
//Doesnt Work !!
dispatch(
stopSubmit('enterpriseLogin', {
_error: 'Error description...'
})
);
}
}