@lavadrop/throttle
v0.4.1
Published
Creates a throttled function that only invokes func at most once per every wait milliseconds.
Downloads
7
Maintainers
Readme
@lavadrop/throttle
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 | 192 bytes
Creates a throttled function that only invokes func
at most once per every
wait
milliseconds.
Usage
import throttle from '@lavadrop/throttle'
const logScrollTop = e => { console.log(`top: ${e.target.scrollTop}`) }
const [throttled, cancel] = throttle(logScrollTop, 100)
window.addEventListener('scroll', throttled)
cancel()
Parameters
| Name | Type | Description |
| :---------- | :-------- | :------------------------------------------------------------------------------- |
| func
| TFunc
| The function to throttle. |
| wait
| number
| The number of milliseconds to which invocations are throttled. |
| callFirst
| boolean
| Specifies that func
should be invoked on the leading edge of the wait timeout. |
Type parameters
| Name | Constraint |
| :------ | :------------------------ |
| TFunc
| (...args: any[]) => any
|
Returns
A new throttled function paired with a cancel function.
Return type
[(...args: Parameters<TFunc>) => any, () => void]