Promise配合async await的使用
以微信小程序为例:
定义一个发送ajax请求的函数:
function $get(url) {
return $request(url,"GET")
}
function $request(url,method) {
wx.showLoading({
title: '加载中',
})
return new Promise((resolve,reject)=>{
wx.request({
url: BASEURL + url,
method:method,
success: res => {
resolve(res.data)
},
fail(e){
reject(e)
},
complete(){
wx.hideLoading({
})
}
})
})
}
在外面进行调用:
async getUserlist() {
let data = await $get('/userlist')
this.setData({
userlist:data
})
}
总结:
通过await进行等待请求结果,然后data可以直接获取到promise的Value,也就是前面resolve(res.data)中的res.data