可能有这么一个场景,可能因为网络原因,或者就单纯的多次疯狂点击某个按钮,导致函数或接口被多次调用,实际上我们只想调用函数和接口一次。
这时候我们需要防止暴力点击
下面代码参考:.html
Page({data: {lock: false},//表单提交submit(){let that = this;let {lock} = that.data;if(!lock){that.setData({lock:true});//数据请求操作//请求完成后 开锁that.setData({lock:false});}}
})
但有时候我们调用api ,用wx.request发送请求,因为wx.request是并发的,所以用上述代码可能会有问题,不能达到预期的效果,这时候可以做一点小小的更改----把that.setData({lock:false});这句加在合适的位置即可,比如success(res)中,请求成功后:
Page({data: {lock: false},//表单提交submit(){let that = this;let {lock} = that.data;if(!lock){that.setData({lock:true});wx.request({url: 'test.php', //仅为示例,并非真实的接口地址data: {x: '',y: ''},header: {'content-type': 'application/json' // 默认值},success (res) {that.setData({lock:false});console.log(res.data)}})}}
})
本文发布于:2024-01-28 14:24:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064230868055.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |