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中文网其他相关文章!