irpas技术客

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

irpas 4574

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对象形式使用。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #微信小程序undefined #res