У меня проблема с аксиомами в моем приложении, поддерживающем реакцию. Сообщение об ошибке представлено здесь Рис1Рис2 Actions.start () никогда не запускается.
Изменить 1: Вот полный код. Изменить 2: Изображение сообщения об ошибке Рис3 Что касается результатов, проблема должна быть const res = await ... Придется добавить больше деталей, иначе я не смогу обновить этот вопрос;)
export const apiPostLogin = (
accountData
) => async dispatch => {
dispatch(setFetching(true));
try {
var instance = axios.create({
baseURL: 'https://api.xxxx.de/',
timeout: 1000
});
const res = await axios.post('/api/v1/auth/login', accountData);
Actions.Start();
dispatch(setAuthToken(res.data.token));
await dispatch(apiGetAccount(res.data.token));
console.info(res);
} catch (error) {
console.info(error.response);
dispatch(setFetching(false));
if (error.response.status === 401) {
dispatch(
setApiResponse({
apiResponse: true,
didShowResponse: false,
apiResponseError: true,
apiResponseCode: 401,
apiResponseMessage: 'E-Mail und Passwort stimmen nicht überein'
})
);
} else if (error.response.status === 417) {
dispatch(
setApiResponse({
apiResponse: true,
didShowResponse: false,
apiResponseError: true,
apiResponseCode: 417,
apiResponseMessage: 'Du hast Deine E-Mail noch nicht bestätigt'
})
);
} else {
dispatch(
setApiResponse({
apiResponse: true,
didShowResponse: false,
apiResponseError: true,
apiResponseCode: 499,
apiResponseMessage:
'Du kannst Dich im Moment nicht bei uns anmelden. Wir befinden uns im Wartungsmodus'
})
);
}
}
};





Оберните вызов post в блок try catch (catch необходим для обработки отклоненных обещаний). Ваш сетевой запрос не удался. Вам нужно поймать ошибку / обработать отказ от обещания
try {
const res = await axios.post('/api/v1/auth/login', accountData);
console.info('Success!');
console.info(res.status);
console.info(res.data);
} catch (e) {
console.error('Failure!');
console.error(e.response.status);
throw new Error(e);
}
Actions.Start();
ИЛИ
попробуйте использовать axios() вместо axios.create()
return axios.({
method: 'post',
baseURL: userEndpoint,
headers: {
common: {
Accept: 'application/json',
}
}
}).then(...).catch(...);
да подожди одну секунду
console.info(error.response); запускается в блоке catch?
Вы пробовали использовать его с .then вместо await?
Эй, консоль не выводит сообщение об ошибке. Когда я попробовал с., Тогда произошла другая ошибка. Может, я сделал что-то не так, поэтому попробую еще раз
удалите все из функции, просто сохраните вызов axios и посмотрите, что произойдет с await и с .then
Он только выводит TypeError: сбой сетевого запроса в консоли
Так теперь выдает предупреждение о Unhandled Promise Rejection?
эй, попробую позже. надо идти афк. Результаты напишу позже;) Большое спасибо за помощь! Я очень ценю это"!!!
Без проблем. Сообщите мне, сработало ли это для вас. ;) Спасибо
Привет, я распечатал сообщение об ошибке. Снимок экрана приведен в моей новой редакции. .тогда не получилось
Я также пробовал использовать выборку с помощью react native. У меня такие же ошибки. Могут ли быть проблемы с моим эмулированным устройством Android?
спасибо за этот комментарий, он открыл мне голову, вы, вероятно, столкнулись с той же проблемой, с которой я столкнулся, то есть с использованием localhost в качестве URL-адреса api, но я не могу этого сделать, поскольку эмулируемое устройство не находится на том же хосте, что и сервер, поэтому мне нужно использовать 192.168.0.1 или что-то в этом роде :)
Я не думаю, что во втором примере должна быть точка после axios?
Привет, спасибо за ответ! Но все равно не работает. Весь блок также заключен в оператор catch {}. У тебя есть другие идеи?