У меня есть функция асинхронного ожидания, которая обрабатывает отправку формы в React Native:
const handleSubmit = async () => {
const credentials = { email, password }
try {
login(credentials)
} catch {
console.error('ERROR')
//external function to reset form
resetForm()
return
}
// User authenticated, go to home screen
await goToHomeScreen()
}
Где login (), который выполняет вызов API, равен
const login = (credentials) => {
axios
.post(`${MY_API}/login`, credentials)
.then((res) => {
console.log(res.data)
})
.catch(() => {
throw 'Error'
})
}
Идея состоит в том, что в случае сбоя аутентификационного вызова мой login () выдает ошибку, которая должна запустить return
в catch {} моего handleSubmit, завершив функцию. Тем не менее, перехват никогда не выполняется, и goToHomeScreen () выполняется. Что я делаю не так?