微信小程序异步请求数据promise方法

在小程序中可以直接使用promise,我们需要做的就是在A函数中返回一个promise,在返回的promise中再进行获取数据的操作,把成功获取到的数据传入resolve中,把失败的结果传入reject,然后在B函数中调用A函数,调用后再使用.then 和 .catch 分别对成功和失败的结果进行处理

  data: {
    brandimg: ''  // 设置一个空变量,在请求数据后将请求结果赋值给该变量
  },
 
  getImgUrl() {
    return new Promise((resolve, reject) => {
      wx.request({
        url: 'http://daxun.kuboy.top/api/pro',
        success: res => {
          this.setData({
            brandimg: res.data.data[0].brandimg // 将获取到的数据赋值给data中的变量
          })
          resolve(res)
          console.log("A方法请求到的数据", this.data.brandimg)  // 在此将赋值的结果输出
        },
        fail: res => {
          reject(res)
        }
      })
    })
  },
 
  useImage() {
    this.getImgUrl().then(res => {
      console.log("B方法中得到的数据",res)
    }).catch(res =>{
      console.log(res)
    }) 
  },
 
  onLoad: function () {
    this.useImage()   
  },

你可能感兴趣的:(1024程序员节,微信小程序,前端)