axios进行请求的重发,请求/响应拦截,Token刷新

以你之姓@ 2023-10-11 11:28 39阅读 0赞

请求拦截

  1. // 进行请求的拦截
  2. axios.interceptors.request.use(
  3. // 正常拦截
  4. request => {
  5. // doSomethings
  6. },
  7. // 发生错误
  8. error => {
  9. // error handle
  10. });

响应拦截

  1. // 进行响应的拦截
  2. axios.interceptors.response.use(
  3. // 正常拦截
  4. response => {
  5. // doSomethings
  6. },
  7. // 发生错误
  8. error => {
  9. // error handle
  10. });

刷新Token并重发请求

例如:在响应中需要进行Token的校验,失效后进行Token的刷新并重发请求
请求重发的注意点是,使用响应里的config作为参数进行重发

  1. axios.interceptors.response.use(
  2. response => {
  3. // 判断是否需要Token刷新
  4. if (...) {
  5. // 刷新Token(可以使用同步操作)
  6. ...
  7. // 将新的Token设置到axios的默认请求头
  8. axios.defaults.headers.common['token'] = newToken;
  9. // 将新的Token设置到重发的请求头
  10. response.config.headers.token = newToken;
  11. // 请求重发
  12. return axios.request(response.config);
  13. }
  14. });

发表评论

表情:
评论列表 (有 0 条评论,39人围观)

还没有评论,来说两句吧...

相关阅读