JSFiddle - React, Tailwind, and code Playground
JavaScript
const debounce = (fn, interval) => {
let timeout;
return (...rest) => {
const func = () => {
fn.apply(this, rest);
}
if (timeout)
clearTimeout(timeout);
timeout = setTimeout(func, interval);
};
}
const test = (inp) => {
console.log(inp);
};
const db = debounce(test, 1000);
const cb = () => {
db('test');
};
const button = document.createElement('button');
button.innerHTML = 'fire';
document.body.appendChild(button);
button.addEventListener('click', cb);