Promise配合async await的使用

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

猜你喜欢

转载自blog.csdn.net/qq_36615115/article/details/107038885