У меня есть функция, которая использует метод axios get и по обещанному возврату. Я добавил обработку ошибок для обработки ситуации, когда служба, к которой я пытаюсь подключиться, была отключена.axios не может получить доступ к сообщению об ошибке
axios.get('/someurl')
.then(() => {
// this does not matter
})
.catch((err) => {
logger.error(TAG, 'postCreateVm', err);
return reply(Boom.forbidden(err.message));
});
Когда я использую локон я могу увидеть сообщение, статус ответа составляет 403:
# curl -X GET localhost:3000/someurl
{
"message": "abort"
}
Проблема заключается в том, что при попытке доступа «сообщение» свойство я ничего не получаю, но я знаю, Это здесь! (Я пытался использовать err.response.data, а также не имели успеха также)
Согласно документации, которую я должен иметь возможность доступа к нему: axios handling errors
Что такое правильный способ доступа это сообщение?
Это также зависит от сервера. У меня есть серверная часть в Python и Flask, и оказалось, что сообщение об ошибке не было отправлено (у меня есть try-catch, а в блоке catch я повторно поднимаю одно и то же исключение). После регистрации обработчика ошибок, как описано здесь http://flask.pocoo.org/docs/0.12/patterns/apierrors/, сообщение об ошибке было доступно, как в этом ответе. – Mahdi