通过new Promise 封装Axios/uni.request请求
为了方便前端开发者更加简单便捷的请求后端数据,特封装几种请求方式,希望对大家有所帮助
1,通过new Promise封装axiso请求,代码如下
// post请求
export const post = (url,data) => {
return new Promise((resolve,reject)=>{
axios.post(url,data).then(res=>{
resolve(res)
}).catch(err=>{
reject(err)
})
})
}
// get请求
export const get = (url) => {
return new Promise((resolve,reject)=>{
axios.get(url).then(res=>{
resolve(res)
}).catch((err=>{
reject(err)
}))
})
}
2.通过new Promise封装uni.request请求
let BASE_URL = '' // 接口固定地址
export const request = (options) => {
return new Promise((resolve,reject)=>{
uni.request({
url: BASE_URL + options.url,
method: options.method || 'GET',
data: options.data || {},
success:(res)=>{
resolve(res)
},
fail:(err)=>{
uni.showToast({
title:err.message,
icon:'none'
})
reject(err)
}
})
})
}
3,封装一个常规axiso请求 不通过promise封装
// post 请求
export function postAction(url,parameter) {
return axios({
url: url,
method:'post' ,
data: parameter
})
}
// get 请求
export function getAction(url,parameter) {
return axios({
url: url,
method: 'get',
params: parameter
})
}