微信小程序网络请求异常怎么办_微信小程序异步请求问题

微信小程序的异步请求常导致未等待数据返回即执行后续代码,引发异常。通过使用Promise将wx.request封装,成功时调用resolve,失败时调用reject,配合.then()和.catch()处理异步操作,可以有效解决这个问题。具体实践包括在公共方法中使用Promise封装wx.request,并在其他模块中调用时将后续操作放入.then()中。
摘要由CSDN通过智能技术生成

微信小程序为了提高用户体验,提供的api大部分都是异步操作,除了数据缓存操作里面有一些同步操作。是提高了用户体验,但是在开发的时候,

就有点坑了,例如我要写一个公共方法,发起网络请求,去后台去一些数据,成功之后,再做一些操作,但是由于wx.request是异步请求,就会

导致,网络请求还没结束,就会执行后面的代码,从而引起异常,怎么解决这种异步导致的问题呢,当然是promise了。看例子:

公共common.js里封装了一个得到用户实体的方法:

//发起请求,得到用户实体

function GetUserEntity() {

wx.request({

url: http_config.getUserDetail,

data: {

Sha1OpenId: wx.getStorageSync('LoginSessionKey')

},

success: (res) => {

let result = res.data.data;

console.log(result)

return result;

},

fail: () => {

return "系统异常,请重试!"

}

})

}

module.exports.GetUserEntity = GetUserEntity

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值