dboun 函數是一個實用程序,旨在限制函數執行的速率。它確保僅在自上次呼叫以來經過指定的延遲(delay)後才呼叫所提供的函數(fn)。預設情況下,延遲設定為 400 毫秒。
這對於處理頻繁觸發的事件特別有用,例如調整大小、捲動或鍵入,透過防止過度呼叫所提供的函數。
// 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); });
在此範例中:
fn(函數):去抖延遲後要執行的函數。
delay(數字,可選):呼叫 fn 之前等待的毫秒數。預設為 400 毫秒。
dboun 函數傳回 fn 的新去抖版本。返回的函數會延遲 fn 的調用,直到自上次調用返回的函數以來經過延遲毫秒後。
dboun 函數使用現代 JavaScript/TypeScript 功能,使其與大多數現代環境相容。對於較舊的環境,請考慮轉譯代碼。
// 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
以上是德本的詳細內容。更多資訊請關注PHP中文網其他相關文章!