防抖的意思就是防止重复快速的多次点击,字面理解就是防止别人手抖多点了几次按钮,导致重复提交数据。话不多说直接上代码。防抖函数如下:
let count = 0
export function debounce(func, delay) {
if (count === 0) {
func()
}
count++
setTimeout(() => {
count --
}, delay)
}
这个函数接受两个参数:func 是要执行的函数,delay 是延迟时间(以毫秒为单位)。每次调用函数的时候count++,只有当count=0的时候。
调用:
doToast (obj) {
if (obj.toast) {
uni.showModal({
title: obj.name,
content: obj.toast,
showCancel: false,
confirmColor: '#0089EB'
})
}
},
showToast (obj) {
debounce(this.doToast(obj), 500)
},