function debounce(fn, wait = 300) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), wait);
};
}
// Usage
const onSearch = debounce((e) => {
console.log('Searching:', e.target.value);
}, 400);
document.querySelector('#search').addEventListener('input', onSearch);
Create a free account and build your private vault. Share publicly whenever you want.