原生小程序不支持promise,因此在使用uni-app时可以自己封装一个异步请求
创建文件
在src下新建utils文件夹,添加request.js文件
实现
export default (params) => {
// 加载中
uni.showLoading({
title : "加载中"
})
return new Promise((resolve, reject) => {
wx.request({
...params,
success(res){
resolve(res.data)
},
fail(err) {
reject(err)
},
complete() {
uni.hideLoading();
}
})
})
}
主要是导出一个带有wx.request的promise,我们在刚开始使用组件库添加一个加载中的动画,然后开始请求,拿到返回值之后放入到promise的resolve和reject中,最后无论成功或者失败都隐藏加载动画。