【Vue自用笔记】如何封装axios?有什么好处?

如何封装axios:

  1. 导入axios
import axios from 'axios'
  1. 自定义实例默认值
const instance = axios.create({
    baseURL: '',
    timeout: 5000, //请求超时的时间
    headers: {
      // 可定义统一的请求头部
      post: {
        'Content-Type': 'application/json'
      }
    }
});
  1. 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});
  1. 添加响应拦截器
instance.interceptors.response.use(function (response) {
	// 对响应数据做点什么
    if(response.status === 200){
        return response.data;
    }else{
        console.error("请求错误")
        console.error(response)
    }
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});
  1. 导出创建的axios实例
export default instance

完整代码:

// 导入axios
import axios from 'axios'

// 自定义实例默认值
const instance = axios.create({
    baseURL: '',
    timeout: 5000,//设置请求超时的时间
    headers: {
    }
});

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    instance// 对响应数据做点什么
    if(response.status === 200){
        return response.data;
        //这个返回值应根据接口的返回值进行调整,不一定必须是.data
    }else{
        console.error("请求错误")
        console.error(response)
    }
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default instance

axios封装的好处:

  1. 统一处理,提高效率,便于维护。
  2. 不用再挂载在Vue实例的原型上,降低了耦合度,两者互不相干了,其中的任何一个出现问题,另一个都能正常运作。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装axios好处主要有以下几点: 1. 简化代码结构:通过封装axios,我们可以将常用的请求代码进行抽离封装,从而减少冗余代码,使代码结构更清晰。这样可以提高代码的可读性和可维护性,方便后期的更新和维护。 2. 提高开发效率:通过封装axios,我们可以实现代码复用,减少重复的开发工作量。这样可以提高开发效率,节省开发时间和精力。 3. 规范接口:通过二次封装后的axios,我们可以对接口进行规范化处理。例如,可以统一返回数据格式、进行数据转化、数据过滤等操作,以满足业务需要。这样可以提高前后端的协作效率,同时也提高了接口的可维护性。 总结起来,封装axios可以简化代码结构、提高开发效率和规范接口,从而使代码更清晰、易于维护,并提高了开发效率和前后端的协作效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [封装一个好用的axios,省时又省力,真香!!](https://blog.csdn.net/weixin_44388523/article/details/125549666)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [关于axios二次封装](https://blog.csdn.net/G104305/article/details/130083876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值