最简单的 axios 封装,提供思路

212 阅读1分钟
import axios from "axios";
// 导出 axios
export function request(config) {
  // 创建应用实例 可以配置不同的模块 
  const instance = axios.create({
    // 配置默认
    baseURL: 'url',
    timeout: 5000
  })
  // 请求拦截
  instance.interceptors.request.use(config => {
  // 在这里面写逻辑
    return config
  }, err => {
    console.log(err);
  })
  // 响应拦截
  instance.interceptors.response.use(res => {
  // 在这里面写逻辑
    return res.data
  }, err => {
    console.log(err);
  })
  // 因为他返回的本事本身就是 promise 所以直接 return,也不需要 new promise
  return instance(config)
}