Retour à la leçonMission
Mission : la recherche qui envoie une requête par lettre tapée
Choisir et implémenter debounce vs throttle selon deux scénarios distincts, et corriger un bug d'oubli de clearTimeout.
Contexte
Sur le site de Technologik, un champ de recherche envoie une requête API à CHAQUE lettre tapée, saturant le serveur. Un développeur a tenté de corriger avec ce code, mais le bug persiste :
js
function debounceCasse(fonction, delai) {
let timeoutId;
return function (...args) {
timeoutId = setTimeout(() => fonction.apply(this, args), delai);
};
}Par ailleurs, un gestionnaire de scroll qui recalcule la position d'une barre de progression doit réagir en continu pendant le défilement, pas seulement à la fin.