首先介绍一下背景:
提交用户信息的一个接口,我不想让用户点击提交之后疯狂点击导致相同的信息像后台发送请求。所以这里用到了,如何判断防抖。
首先说一下防抖和节流的区别。
节流就是指连续触发事件但是在 n 秒中只执行一次函数。
防抖就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。
代码如下:
//全局中
let lock = true
function syncLock(callback){
if(lock){
lock = false
setTimeout(function (){
lock =true
},500)
callback()
}
}
// 当我要使用防抖函数的时候
function btnClick(){
console.log("这里被点击了")
}
// 调用防抖
syncLock(btnClick)
网友评论