私はaxios ajaxリクエストのラッパーを含んでいる1つのファイルrequest.jsを持っています。複数の反応コンポーネントからrequest関数を呼び出していますが、要求の1つが失敗したときに、トークンを更新して失敗した要求を再試行したい。私は、インターセプターを使用することができますが、私はそれを実装する方法を知らない。助けてください。Axiosで401(認証エラー)を処理して反応する方法は?
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;