La fonction dboun est un utilitaire conçu pour limiter la vitesse à laquelle une fonction est exécutée. Il garantit que la fonction fournie (fn) est appelée uniquement après qu'un délai spécifié (délai) se soit écoulé depuis le dernier appel. Par défaut, le délai est fixé à 400 millisecondes.
Ceci est particulièrement utile pour gérer les événements qui se déclenchent fréquemment, tels que le redimensionnement, le défilement ou la saisie, en empêchant la fonction fournie d'être appelée de manière excessive.
// Define the function to handle search function handleSearch(query: string): void { console.log("Searching for:", query); } // Create a debounced version of the search handler const debouncedSearch = dboun(handleSearch, 300); // Simulate typing in a search box const input = document.querySelector('#searchBox'); input?.addEventListener('input', (event: Event) => { const target = event.target as HTMLInputElement; debouncedSearch(target.value); });
Dans cet exemple :
fn (Fonction) : La fonction à exécuter après le délai anti-rebond.
délai (Nombre, facultatif) : Le nombre de millisecondes à attendre avant d'appeler fn. La valeur par défaut est 400 millisecondes.
La fonction dboun renvoie une nouvelle version anti-rebond de fn. La fonction renvoyée retarde l'invocation de fn jusqu'à ce que le délai se soit écoulé en millisecondes depuis le dernier appel de la fonction renvoyée.
La fonction dboun utilise des fonctionnalités JavaScript/TypeScript modernes, ce qui la rend compatible avec la plupart des environnements modernes. Pour les environnements plus anciens, envisagez de transpiler le code.
// Test debounced function const log = dboun((message: string) => console.log(message), 500); log("Hello"); // Will not log immediately log("Hello again"); // Resets the timer; only this message will log after 500ms
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!