最近在写小程序,遇到一个问题,就是封装的小程序请求是异步的,而我需要立刻处理这个数据,我用的方法是async、
使用前提是微信开发者工具需要开启"增强编译"
用Promise封装的请求:
const post=(url,data)=>{
return new Promise((resolve,reject)=>{
wx.request({
url:url,
method:'POST',
dataType:'json',
data:data,
header:{'content-type': "application/x-www-form-urlencoded"},
success:function(res){
resolve(res.data)
},
fail: function() {
reject("请求数据失败");
},
})
})
}
使用情况是需要判断是否已经请求过了,如果已经请求过,就不在重复请求。
getData: async function (){
let data;
if(this.data.list){
data = this.data.list;
}else{
data = await util.post(url,reqData).then((res)=>{
return res.data.list;
});
}
console.log(data);
}
这样就好了