Fungsi dboun ialah utiliti yang direka untuk mengehadkan kadar sesuatu fungsi dilaksanakan. Ia memastikan bahawa fungsi yang disediakan (fn) dipanggil hanya selepas kelewatan (kelewatan) yang ditentukan telah berlalu sejak seruan terakhir. Secara lalai, kelewatan ditetapkan kepada 400 milisaat.
Ini amat berguna untuk mengendalikan acara yang kerap berlaku, seperti mengubah saiz, menatal atau menaip, dengan menghalang fungsi yang disediakan daripada dipanggil secara berlebihan.
// 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); });
Dalam contoh ini:
fn (Fungsi): Fungsi yang akan dilaksanakan selepas kelewatan nyahlantun.
kelewatan (Nombor, pilihan): Bilangan milisaat untuk menunggu sebelum menggunakan fn. Lalai kepada 400 milisaat.
Fungsi dboun mengembalikan versi fn nyahlantun baharu. Fungsi yang dikembalikan melambatkan seruan fn sehingga selepas kelewatan milisaat berlalu sejak kali terakhir fungsi yang dikembalikan dipanggil.
Fungsi dboun menggunakan ciri JavaScript/TypeScript moden, menjadikannya serasi dengan kebanyakan persekitaran moden. Untuk persekitaran yang lebih lama, pertimbangkan untuk mengalihkan kod.
// 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
Atas ialah kandungan terperinci Dboun. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!