Fonction debounce en JavaScript vanilla
Implémentation classique du debounce pour optimiser les événements à haute fréquence comme la saisie ou le scroll.
Langage
javascript
Accès
Libre
/**
* Debounce function to limit execution frequency
* @param {Function} func - Function to debounce
* @param {number} delay - Delay in milliseconds
*/
function debounce(func, delay) {
let timeoutId;
return function (...args) {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => func.apply(this, args), delay);
};
}
// Usage example
const search = debounce((query) => {
console.log("Search:", query);
}, 300);