共计 360 个字符,预计需要花费 1 分钟才能阅读完成。
防抖目标是为了短时间内屡次触发事件, 但只执行一次
let timer // 如果是 vue 的能够在 data 外面定义
function handleClick() {clearTimeout(timer)
timer = setTimeout(() => {要执行的代码放在此处}, 300) // 300 毫秒反复点击, 只触发一次
}
场景二: 有时候点击删除屡次点击会呈现同个 id 删除前面的接口会报错
解决办法一: 是用下面的防抖
解决办法二:
let loading=false
function handleDelete(id) {if(loading) return
loading = true
// 上面写接口回调, 调完接口后将 loading 复原 false
}
二者办法的成果一样, 前者是最初次事件执行, 后者是第一次事件执行, 前面的事件锁住不执行
集体比拟喜爱第二种, 实际效果也更好
正文完
发表至: javascript
2022-03-07