Debounce Example
by Matthew Vasallo
JavaScript
function debounce(fn, delay) {
var timer = null;
return function() {
var context = this,
args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
fn.apply(context, args);
}, delay);
};
}
const debounce2 = (fn, delay, immediate) => {
let timer = null;
return args => {
clearTimeout(timer);
timer = setTimeout(() => {
fn(args);
}, delay);
};
};
const debounce3 = (fn, delay, immediate) => {
let timer = null;
return args => {
clearTimeout(timer);
timer = setTimeout(() => {
fn(args);
}, delay);
};
};
$(window).resize(debounce(function() {
console.log("resize");
}, 500));
$(window).click(debounce2(() => {
console.log("clicked");
}, 500));