设置一个节流阀flag,初始值为true
判断事件是否在执行,执行节流阀就关闭, 执行完毕就再次打开节流阀
案例:验证码节流阀
let flag = true
a.addEventListener('click', function (e) {
if (flag) {
flag = false
let i = 5
a.innerHTML = `${i}秒后重新获取`
let timer = setInterval(function () {
a.innerHTML = `${--i}秒后重新获取`
if (i == 0) {
clearInterval(timer)
a.innerHTML = `重新获取`
flag = true
}
}, 1000)
}
})