javascript - 如何在反应中集中 API 调用的错误处理(使用 Axios)
问题描述
我在我的反应应用程序中使用 Axios 进行后端调用。为了便于管理,我编写了一个通用函数,用于进行后端调用。我需要关于如何集中错误处理以及在 UI 上显示它的最佳方式的建议。
import Axios from "axios";
// Backend api calls to ::
export default function apiService(requestParams) {
const accessToken = sessionStorage.getItem("access_token");
requestParams.headers = {
'authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
};
return Axios(requestParams);
}
解决方案
使用 axios 拦截器:
// Add a request interceptor
axios.interceptors.request.use(function (config) {
// Do something before request is sent
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
// Add a response interceptor
axios.interceptors.response.use(function (response) {
// Do something with response data
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});
推荐阅读
- kubernetes - 使用 istio 和 ingress nginx 部署金丝雀
- firebase - 如何调用 Firestore 的孙子(文档/子/孙)数据?
- json - 如何从包含数组的嵌套 json 中获取展平数据框
- node.js - 打开机器人时问候用户
- jquery - 获取超过 12000 行的数据和 Ajax 调用问题
- regex - 如何使用正则表达式获取 json 文档的键的所有空格
- asp.net-core-mvc - 当我在服务器上上传 pdf 文档时。它保存 pdf 但 pdf 大小为 0 字节
- python - pyspark.sql 'pandas_udf()' 函数之前的冒号 (:)?
- java - 试图了解 javafx.scene.image、awt.image、BufferedImage、RenderedImage、Raster、PlanarImage 之间的区别
- python - numba 中有没有办法使用 numpy datetime64 变量确定天数和小时数?