Throttle
JavaScript 🟡 MidDéfinition
Limite l'exécution d'une fonction a maximum une fois par intervalle de temps. Contrairement au debounce, garantit une exécution régulière pendant une rafale d'appels.
Analogie
Un robinet a débit contrôle : même si tu l'ouvres a fond, l'eau coule toujours a la même 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.
Termes liés
En entretien
Quelle différence entre throttle et debounce ?
Le throttle limite l'exécution à maximum une fois par intervalle de temps et garantit une exécution régulière pendant une rafale d'appels, alors que le debounce n'exécute que le dernier appel après une pause. On choisit throttle pour un scroll handler ou du mousemove tracking, où on veut un retour régulier.
Donne un cas d'usage du throttle côté API.
Le rate limiting d'appels API côté client, pour éviter de spammer un serveur pendant une interaction continue comme un scroll. Comme un robinet à débit contrôlé, le flux reste constant même si l'utilisateur sollicite plus vite.
Dans l'actu
- 22/09 Node.js 26.10.0 (Current) ajoute util.debounce() et util.throttle() natifs, crypto.parsePKCS12() pour lire les certificats .pfx/.p12, fs.openAsBlobSync(), et le transfert de net.BoundSocket vers les worker threads et processus enfants. Semaine 39 · 21 – 27 septembre 2026 →
- 22/09 Node.js 26.10.0 apporte `util.debounce()` et `util.throttle()` natifs, `crypto.parsePKCS12()` pour les certificats .pfx/.p12 et `fs.openAsBlobSync()`. Bilan septembre 2026 →
Fiche mise à jour le 2026-09-27