一.前言
楼主21年下半年接触了小程序,发现小程序确实比Qt好用许多,很多接口也很方便,但是也遇到了一些坑,故在此记录一下
二.问题描述
点击一次view,就发送一个请求,这是正常的情况,但是有些用户喜欢一直点,这样就会造成一个请求还没完成,另一个请求已经来了的情况,容易造成卡死
三.解决方式
1.点击的时候,不要马上去处理,延迟一定的时间,如果这个延迟时间之内还继续点击了,就忽略上一次的点击,每次都这样操作
2.核心代码
onClicked: function () {
let num = this.data.clickedCount + 1
this.setData({
clickedCount: num,
})
console.log("点击次数:" + this.data.clickedCount)
if (this.data.clickTimeout != null) {
clearTimeout(this.data.clickTimeout)
this.data.clickTimeout = null
}
this.data.clickTimeout=setTimeout(() => {
console.log("300ms之内没按下,开始处理业务")
}, 300);
},
3.效果
四.源码下载