Skip to main content

防抖节流

防抖

function debounce(fn, delay = 50) {
let timer;
return function () {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn();
}, delay);
};
}

节流

function throttle(fn, delay = 50) {
let timer = null;
let flag = true;
return function () {
if (!flag) return;
flag = false;
timer = setTimeout(function () {
flag = true;
fn();
clearTimeout(timer);
}, delay);
};
}

参考