main.js中的方法,请求数据方法为异步 所以采用的promise封装方法
// 请求方法封装
async myRequest(url,data){
uni.showLoading({
title:'加载中',
})
if(!url){
console.log('请填写url');
return
}
this.refreshToken();
return new Promise((resolve, reject)=>{
// 封装主体:网络请求
uni.request({
url: url,
header:{'Authorization':'Bearer ' + this.getToken()},
data:data,
success: (res) => {
uni.hideLoading()
if(res.statusCode == 200){
uni.hideLoading()
console.log('res',res);
resolve(res)
}else{
console.log(res);
uni.hideLoading()
uni.showModal({
title: '提示',
content:res.data,
showCancel: false
});
}
},fail:(res)=>{
uni.hideLoading()
console.log(res)
reject(err)
}
})
})
},
使用方法分为两种:.then形式 和 async await 方式
// 方法一
init(){
let url = this.base.chifengApi+'URL?id='+ this.id
this.myMethods.myRequest(url).then(v=>{
this.data = v.data
})
}
// 方法二
// async init(){
// let url = this.base.chifengApi+'URL?id='+ this.id
// let aaa = await this.myMethods.myRequest(url)
// this.data = aaa.data
// }