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

简介: 微信小程序异步请求数据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()   
  },
相关文章
|
前端开发
在什么场景下适合使用 Promise.race() 方法?
在什么场景下适合使用 Promise.race() 方法?
886 167
|
前端开发
如何使用 Promise 的 all 方法?
如何使用 Promise 的 all 方法?
1138 162
|
前端开发
如何在不使用catch方法的情况下处理Promise.reject()抛出的错误?
如何在不使用catch方法的情况下处理Promise.reject()抛出的错误?
855 155
|
前端开发
在Promise链中是否可以多次使用catch方法?
在Promise链中是否可以多次使用catch方法?
612 154
|
前端开发
Promise有哪些常用的方法?
Promise有哪些常用的方法?
648 154
|
前端开发 JavaScript
除了使用Polyfill,还有其他解决Promise.allSettled()兼容性问题的方法吗?
除了使用Polyfill,还有其他解决Promise.allSettled()兼容性问题的方法吗?
697 179
|
Web App开发 前端开发 JavaScript
Promise.allSettled()方法的兼容性如何?
Promise.allSettled()方法的兼容性如何?
1336 174
|
前端开发 JavaScript
Promise.allSettled()方法的语法是什么?
Promise.allSettled()方法的语法是什么?
747 176