使用 Axios 拦截器处理 HTTP 请求错误
默认情况下, Axios 错误消息只包含状态码。 这是一个合理的默认设置,但默认错误消息通常没有帮助。
const app = express();
app.get('*', (req, res) => {
res.status(404).json({ message: `Could not find page ${req.url}` });
});
const server = await app.listen(3000);
const err = await axios.get('http://localhost:3000/test').
catch(err => err);
// "Request failed with status code 404"
err.message;
值得庆幸的是,Axios 使转换错误变得容易,因此错误消息对您的应用程序有意义。 Axios 拦截器 允许您转换来自 Axios 的所有错误。
// Create an Axios instance to
const client = axios.create();
// Interceptors take 2 parameters:
// Axios calls the first function if the request succeeds
// Axios calls the second function if the request fails
client.interceptors.response.use(
res => res,
err => {
throw new Error(err.response.data.message);
}
)
const err = await client.get('http://localhost:3000/test').
catch(err => err);
// "Could not find page /test"
err.message;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 使用 Mongoose 插入文档
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论