我有一个函数,它使用axios get方法并且在promise上返回我已经添加了错误处理来处理当我尝试连接的服务已被禁用的情况。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