gpt4 book ai didi

reactjs - 有没有办法为错误响应代码设置全局 axios 配置

转载 作者:行者123 更新时间:2023-12-03 13:15:20 26 4
gpt4 key购买 nike

我在我的react/redux应用程序中使用axios,当我收到401、404等错误时,我当前必须在调用axios时为每个操作函数处理它们。我有一个 axios_config.js,其中使用一些常见的习惯用法包装了 axios 调用。例如:

// need to move this to app config
const BASE_URL = 'http://localhost:8080/api/';

function config() {
return {
headers: {'X-Token-Auth': localStorage.getItem('token')}
}
}

export function fetchData(url) {
return axios.get(`${BASE_URL}${url}`, config());
};

我遇到的困难是 401、404 等常见错误。目前,我正在这样做:

export function fetchBrands() {
return function(dispatch) {
dispatch({type:FETCHING_BRANDS});

fetchData('brands')
.then(response => {
dispatch({
type: FETCH_BRANDS_SUCCESS,
payload: response
});
})
.catch(err => {
// deal with errors
});
}
}

但是在 catch block 中,我不想每次都处理 401、404 等。因此,我需要能够在更全局的范围内处理这些错误,但仍然有能力处理请求的特定错误,例如服务器端验证错误。

最佳答案

您可以使用响应拦截器作为 axios documentation 中的文档.

axios.interceptors.response.use(undefined, function (error) {
if(error.response.status === 401) {
ipcRenderer.send('response-unauthenticated');
return Promise.reject(error);
}
});

other thread with same discussion

关于reactjs - 有没有办法为错误响应代码设置全局 axios 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com