编写axios请求的包装器函数可以帮助简化和统一请求的处理过程,提高代码的可维护性和复用性。下面是一个示例的axios请求包装器函数的实现:
import axios from 'axios';
// 封装axios请求的包装器函数
function requestWrapper(url, method, data = null, headers = {}) {
return new Promise((resolve, reject) => {
axios({
url,
method,
data,
headers,
})
.then(response => {
resolve(response.data);
})
.catch(error => {
reject(error);
});
});
}
// 使用示例
const apiUrl = 'https://api.example.com';
// 发送GET请求
requestWrapper(`${apiUrl}/users`, 'GET')
.then(data => {
// 处理返回的数据
console.log(data);
})
.catch(error => {
// 处理请求错误
console.error(error);
});
// 发送POST请求
const postData = { name: 'John', age: 25 };
requestWrapper(`${apiUrl}/users`, 'POST', postData)
.then(data => {
// 处理返回的数据
console.log(data);
})
.catch(error => {
// 处理请求错误
console.error(error);
});
在这个示例中,我们定义了一个名为requestWrapper
的函数,它接受URL、请求方法、请求数据和请求头作为参数。该函数返回一个Promise对象,用于处理请求成功和失败的情况。
在函数内部,我们使用axios库发送请求,并将返回的Promise对象进行封装,以便在调用requestWrapper
函数时可以使用.then()
和.catch()
方法处理请求的结果和错误。
这个包装器函数可以用于发送各种类型的请求,包括GET、POST、PUT、DELETE等。你可以根据需要在函数中添加其他功能,如请求拦截、响应拦截、错误处理等。
推荐的腾讯云相关产品:腾讯云API网关(https://cloud.tencent.com/product/apigateway)可以帮助您更好地管理和部署API接口,提供更好的性能和安全性。
领取专属 10元无门槛券
手把手带您无忧上云