У меня есть один файл request.js, который содержит обертку для аксиального запроса axios. Я вызываю функцию запроса от нескольких реагирующих компонентов, и когда один из запросов не работает, я хочу обновить токен и снова повторить все неудавшиеся запросы. Я могу использовать перехватчики, но я не знаю, как его реализовать. Пожалуйста, помогите.
request.js
var client = axios.create({
baseURL: 'http://192.168.1.3:3000',
headers: {
appID: 8,
version: "1.1.0",
empID: localStorage.getItem('empID'),
token: localStorage.getItem('accessToken')
}
});
const request = function(options) {
const onSuccess = function(response) {
console.debug('Request Successful!', response);
return response.data;
}
const onError = function(error) {
console.error('Request Failed:', error.config);
if (error.response) {
console.error('Status:', error.response.status);
console.error('Data:', error.response.data);
console.error('Headers:', error.response.headers);
} else {
console.error('Error Message:', error.message);
}
return Promise.reject(error.response || error.message);
}
return client(options)
.then(onSuccess)
.catch(onError);
options
}
export default request;