服务器axios响应慢,axios响应拦截401问题

axios.interceptors.response.use(

response => {

if (response.status === 200) {

return Promise.resolve(response);

} else {

return Promise.reject(response);

}

},

error => {

if (error.response) {

switch (error.response.status) {

case 401:

console.log('进入401')

if (window.localStorage.getItem("_NATIVEUSERINFO")) {

console.log('获取到app 当前登录用户')

let { USERNAME, USERPWD } = JSON.parse(window.localStorage.getItem("_NATIVEUSERINFO"));

console.log('开始登录')

apiLogin({

phone: USERNAME,

password: USERPWD

})

.then(res => {

console.log(res)

if (res.code === 0) {

console.log('登录成功')

const token = "Bearer " + res.data.token;

store.commit("changeLogin", token);

location.reload()

} else {

console.log('登录失败')

if (_mm.isDevice.isIOS) {

window.jsfanhui()

} else if (_mm.isDevice.isAndroid) {

window.hkb.finishNativePage();

}

}

})

.catch(() => {

console.log('请求失败')

if (_mm.isDevice.isIOS) {

window.jsfanhui()

} else if (_mm.isDevice.isAndroid) {

window.hkb.finishNativePage();

}

})

} else {

console.log('获取app 当前登录用户 失败')

if (_mm.isDevice.isIOS) {

window.jsfanhui()

} else if (_mm.isDevice.isAndroid) {

window.hkb.finishNativePage();

}

/**

* wap 端处理

*/

/*

Toast({

message: "登录过期,请重新登录",

forbidClick: true,

duration: 3000

});

setTimeout(() => {

router.replace({

path: '/login',

query: {

redirect: router.currentRoute.fullPath

}

});

}, 3000)

*/

}

break;

// 404请求不存在

case 404:

Toast({

message: '网络请求不存在',

duration: 5000,

forbidClick: true

});

break;

// 422 参数错误捕获

case 422:

Toast({

message: error.response.data.describe,

duration: 5000,

forbidClick: true

})

break;

// 500 服务器错误

case 500:

Toast({

message: '服务器维护中,请稍候再试',

duration: 5000,

forbidClick: true

});

break;

// 其他错误,直接抛出错误提示

default:

Toast({

message: error.response.data.describe,

duration: 5000,

forbidClick: true

});

}

// 返回接口返回的错误信息

return Promise.reject(error.response);

}

// 判断请求异常信息中是否含有超时timeout字符串

if (error.message.includes('timeout')) {

return Promise.reject(error);

}

}

)