请求函数(axios)

21 篇文章 1 订阅
4 篇文章 0 订阅
// 第一种方式
// 1.安装 axios 依赖
	# npm install axios
// 2. 在项目根目录下,创建request文件夹,并创建 request.js 文件,内容如下:
	import axios from "axios"
	export function request (config, success, failure) {
		// 创建 axios 的实例
		const instance = axios.create({
			baseURL: "请求地址",
			timeout: 5000
		})
		// 发送网络请求
		instance(config).then((res) => {
			success(res)
		}).catch(err => {
			failure(err)
		})
	}

// 3. 调用方式
	import { request } from "@/asset/request/request.js"  // 可以在main.js中注册到原型上
	request({
		url: '请求地址',
	}, (res) => {
		console.log(res)
	}, (err) => {
		console.log(err)
	})

// 第二种方式
// import axios from "axios"
export const request = (config) => {
	// 1.创建 axios 的实例
	const instance = axios.create({
		baseURL: "请求地址",
		timeout: 5000
	})
	// 2.发送请求
	instance(config.baseConfig).then(res => {
		config.success(res)
	}).catch(err => {
		config.failure(err)
	})
}

// 调用方式
import { request } from "@/asset/request/request.js"
request({
	baseConfig:{},
	success: ()=> {},
	failure: () => {}
})

// 第三中方式 Promise(最常用的方式)
import axios from "axios"
export const request = (config) => {
	return new Promise((resolve, reject) => {
		// 1. 创建 axios 的实例
		const instance = axios.create({
			baseURL: "请求地址",
			timeout: 5000
		})
		// 2. 发送请求
		instance(config).then(res => {
			resolve(res)
		}).catch(err => {
			reject(err)
		})
	})
}
// 调用方式
import { request } from "@/asset/request/reques.js"
reuqest({
	url: "请求地址"
}).then((res) => {
	console.log(res)
}).catch(err => {
	consolr.log(err)
})
// 创建多个请求实例, 应对一个项目中不同的请求地址
import axios from "axios"
// 创建 instance1 请求实例
const instance1 = axios.create({
	baseURL: "请求地址1", // 基础地址1
	timeout: 5000
})
// 2.发送请求
instance1({
	url: "请求地址1"
}).then(res => {
	config.success(res)
}).catch(err => {
	config.failure(err)
})
instance1({
	url: "请求地址2",
	params: { // 请求参数
	}
}).then(res => {
	config.success(res)
}).catch(err => {
	config.failure(err)
})
// 创建 instance2 请求实例
const instance2 = axios.create({
	baseURL: "请求地址1", // 基础地址2
	timeout: 5000
})
// 2.发送请求
instance2({
	url: "请求地址1"
}).then(res => {
	config.success(res)
}).catch(err => {
	config.failure(err)
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值