以下是一个简单的uni-app H5封装的请求函数,其中采用Promise封装异步请求,并且支持设置请求头、请求体、超时和错误处理:
function request(url, method, data={}) {
return new Promise((resolve, reject) => {
uni.request({
url,
method,
header: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + uni.getStorageSync('token') // 设置token
},
data,
timeout: 5000, // 超时时间
success(res) {
if (res.statusCode === 200) {
resolve(res.data)
} else {
reject(res.errMsg)
}
},
fail(err) {
reject('网络请求失败,请检查网络是否正常!')
}
})
})
}
export default request
使用时,可以在Vue组件中引入该函数并调用,例如:
import request from '@/common/request.js'
export default {
methods: {
async getData() {
try {
const data = await request('https://api.example.com/data', 'GET')
console.log(data)
} catch (err) {
console.error(err)
}
}
}
}