微信小程序使用request请求有返回值但是返回undefined微信小程序(3)

1.在使用request请求时,接口明明返回了数据但是返回undefined
2.上网看有的加了success这个,想起来request被我封装了

success (res) {
    
    
    console.log(res.data)
  }

3.查看封装的请求成功后返回的代码:一直在获取的是result.data.message实际上要获取的是result.data.access
4.推荐解决方法一:直接返回result.data
解决方法二:与后端沟通,让其把数据写在message中

return new Promise((resolve,reject)=>{
    
    
    wx.request({
    
    
      ...params,
      // header:header,
      url:baseUrl+params.url,
      success:(result)=>{
    
    
        resolve(result.data.message);
      },
      fail:(err)=>{
    
    
        console.log('request'+err)
        reject(err);
      },
      complete:()=>{
    
    
        ajaxTimes--;
        if(ajaxTimes===0){
    
    
          // 关闭正在等待的图标
          wx.hideLoading();
        }
      }
    })
  })

————————关于promise函数——————————
Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。
一个 Promise 对象代表一个在这个 promise 被创建出来时不一定已知的值。 这样使得异步方法可以像同步方法那样返回值:异步方法并不会立即返回最终的值,而是会返回一个 promise。
Promise.reject(reason)
返回一个状态为失败的Promise对象,并将给定的失败信息传递给对应的处理方法
Promise.resolve(value)
返回一个状态由给定value决定的Promise对象。通常而言,如果您不知道一个值是否是Promise对象,使用Promise.resolve(value) 来返回一个Promise对象,这样就能将该value以Promise对象形式使用。

おすすめ

転載: blog.csdn.net/qq_38916157/article/details/121354075