Die dboun-Funktion ist ein Dienstprogramm, das entwickelt wurde, um die Geschwindigkeit zu begrenzen, mit der eine Funktion ausgeführt wird. Es stellt sicher, dass die bereitgestellte Funktion (fn) erst aufgerufen wird, nachdem eine angegebene Verzögerung (Verzögerung) seit dem letzten Aufruf verstrichen ist. Standardmäßig ist die Verzögerung auf 400 Millisekunden eingestellt.
Dies ist besonders nützlich für die Behandlung von Ereignissen, die häufig ausgelöst werden, wie z. B. Größenänderung, Scrollen oder Tippen, indem verhindert wird, dass die bereitgestellte Funktion übermäßig oft aufgerufen wird.
// 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); });
In diesem Beispiel:
fn (Funktion): Die Funktion, die nach der Entprellverzögerung ausgeführt werden soll.
Verzögerung (Zahl, optional): Die Anzahl der Millisekunden, die vor dem Aufruf von fn gewartet werden soll. Der Standardwert beträgt 400 Millisekunden.
Die dboun-Funktion gibt eine neue entprellte Version von fn zurück. Die zurückgegebene Funktion verzögert den Aufruf von fn, bis seit dem letzten Aufruf der zurückgegebenen Funktion Millisekunden vergangen sind.
Die dboun-Funktion nutzt moderne JavaScript/TypeScript-Funktionen und ist somit mit den meisten modernen Umgebungen kompatibel. Erwägen Sie für ältere Umgebungen, den Code zu transpilieren.
// 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
Das obige ist der detaillierte Inhalt vonDboun. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!