debounce-fn
v7.0.0
Published
Debounce a function
Maintainers
Readme
debounce-fn
Debounce a function
Install
npm install debounce-fnUsage
import debounceFunction from 'debounce-fn';
window.onresize = debounceFunction(() => {
// Do something on window resize
}, {wait: 100});API
debounceFunction(input, options?)
Returns a debounced function that delays calling the input function until after wait milliseconds have elapsed since the last time the debounced function was called.
It comes with a .cancel() method to cancel any scheduled input function calls.
input
Type: Function
Function to debounce.
options
Type: object
wait
Type: number
Default: 0
Time in milliseconds to wait until the input function is called.
maxWait
Type: number
Default: Infinity
The maximum time the input function is allowed to be delayed before it is invoked.
This can be used to control the rate of calls handled in a constant stream. For example, a media player may send updates every few milliseconds, but you only want to handle them once a second.
before
Type: boolean
Default: false
Trigger the function on the leading edge of the wait interval.
For example, this can be useful for preventing accidental double-clicks on a "submit" button from firing a second time.
after
Type: boolean
Default: true
Trigger the function on the trailing edge of the wait interval.
Related
- debounce - Similar, but simpler. This package adds support for the
maxWaitandbefore/afteroptions. - p-debounce - Debounce promise-returning & async functions
