@lavadrop/debounce
v3.0.0
Published
Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked.
Downloads
8
Maintainers
Readme
@lavadrop/debounce
Part of a library of zero-dependency npm modules that do just one thing.
- 100% TypeScript support.
- It's not a party without
Lavadrop
!
min + gzip | 199 bytes
Creates a debounced function that delays invoking func
until after wait
milliseconds have elapsed since the last time the debounced function was invoked.
Usage
import debounce from '@lavadrop/debounce'
function calculateLayout() {}
const [debounced, cancel] = debounce(calculateLayout, 100)
window.addEventListener('resize', debounced)
cancel()
Parameters
| Name | Type | Description |
| :---------------------- | :---------------- | :------------------------------------------------------------------------------------------------ |
| func
| TFunc
| The function to debounce. |
| wait
| number
| The number of milliseconds to which invocations are debounced. |
| { leading, trailing }
| DebounceOptions
| Specify invoking on the leading
or trailing
edge of the timeout (Default is trailing=true
). |
Type parameters
| Name | Constraint |
| :------ | :------------------------ |
| TFunc
| (...args: any[]) => any
|
Returns
A new debounced function paired with a cancel function.
Return type
[(...args: Parameters<TFunc>) => any, () => void]