Throttle
JavaScript 🟡 MidDefinition
Limite l'execution d'une fonction a maximum une fois par intervalle de temps. Contrairement au debounce, garantit une execution reguliere pendant une rafale d'appels.
Analogie
Un robinet a debit controle : meme si tu l'ouvres a fond, l'eau coule toujours a la meme vitesse.
Exemple de code
function throttle(fn, ms) {
let last = 0;
return function(...args) {
const now = Date.now();
if (now - last >= ms) {
last = now;
fn.apply(this, args);
}
};
}
Cas d'usage
Scroll handler, mousemove tracking, rate limiting d'appels API cote client.