关于微信小程序wx.showloading()的使用
大部分场景可能是这样的,用户点击一个按钮,界面出现“加载中...”的Loading界面,然后发送一个请求到后台,后台返回成功直接进入下一个业务逻辑处理,后台返回失败或者网络异常等情况则显示一个“系统错误”的Toast,同时一开始的Loading界面会消失。我们给出一个常见的wx.request的示例代码,如下所示。
代码清单4-11 wx.request常见的示例代码
var hasClick = false; Page({ tap: function() { if (hasClick) { return } hasClick = true wx.showLoading() wx.request({ url: https://test.com/getinfo, method: POST, header: { content-type:application/json }, data: { }, success: function (res) { if (res.statusCode === 200) { console.log(res.data)// 服务器回包内容 } }, fail: function (res) { wx.showToast({ title: 系统错误 }) }, complete: function (res) { wx.hideLoading() hasClick = false } }) } })
为了防止用户极快速度触发两次tap回调,我们还加了一个hasClick的“锁”,在开始请求前检查是否已经发起过请求,如果没有才发起这次请求,等到请求返回之后再把锁的状态恢复回去。
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
uniapp 小程序支付功能