18-简单封装axios
2021/5/4 18:56:09
本文主要是介绍18-简单封装axios,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import axios from 'axios'; import { baseURL } from '@/config'; class HttpRequest { constructor(baseUrl = baseURL) { this.baseUrl = baseUrl; // 存储请求的队列 this.queue = {} } // 内部的一些配置 getInsideConfig() { const config = { baseUrl: this.baseUrl, headers: {}, } return config; } // 全局请求拦截器 interceptors(instance, url) { // 请求拦截 instance.interceptors.request.use(config => { // 如果队列中有请求,执行loading效果 if (!Object.keys(this.queue).length) { Spin.show(); } // 每一次过来的请求都添加到queue队列中 this.queue[url] = true; }, error => { return Promise.reject(error) }) // 响应拦截 instance.interceptors.response.use(res => { // 请求返回了,说明请求结束了,删除队列中传入的那个url delete this.queue[url]; console.log(res); return res; }, error => { delete this.queue[url]; return Promise.reject(error) }) } request(options) { const instance = axios.create(); // 把外面传进来的配置合并预设的配置 options = Object.assign(this.getInsideConfig(), options); // 请求的时候,把请求的url传到全局拦截器中,拦截器中去做添加队列的逻辑,执行loading this.interceptors(instance, options.url); return instance(options); } } export default HttpRequest;
使用:
1.引入我们创建的axios类,并导出
2.接口请求API.js文件中引入:
3.组件中调用这个请求
这篇关于18-简单封装axios的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12Axios库资料:新手入门必读教程
- 2024-11-11Axios库项目实战:新手入门教程
- 2024-09-29Axios库教程:初学者必备指南
- 2024-08-29Axios库资料:新手入门指南与基本使用教程
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创