@arnellebalane/debounce
v1.2.0
Published
Limit the rate at which a callback function is executed
Downloads
13
Readme
debounce
Limit the rate at which a callback function is executed.
Installation
Install via npm (or yarn):
npm install @arnellebalane/debounce
Or via CDN (unpkg.com):
<script src="https://unpkg.com/@arnellebalane/debounce/dist/debounce.umd.js"></script>
Usage
This package exposes a debounce
function:
import debounce from '@arnellebalane/debounce';
function someFunction() { /**/ }
const debounced = debounce(someFunction, 1000);
// Multiple calls to `debounced` that are less than 1000 milliseconds apart
// only get executed once. Everything that's passed to `debounced` is forwarded
// to `someFunction`.
This function is exposed as window.debounce
when not using AMD or CommonJS.
API
debounce(callback, duration, options)
:- Parameters:
callback
(Function
): The function that needs to be debounced/rate-limited.duration
(Number
): The delay, in milliseconds, between successive calls. Calls that are less that this value apart from each other are treated as one.options
(Object
, optional):immediate
(Boolean
, default=true
). Whether to execute the callback at the beginning of the first call or at the end of the last call.
- Returns:
Function
. Everything that's passed to this returned function is forwarded to the given callback function.
- Parameters:
Contributing
Any form of contribution into this repository is welcome and greatly appreciated.
- Fork this repository and clone your fork.
- Apply your changes. Make sure to add tests for those changes.
- Run tests:
npm test
. - File a Pull Request into this repository.
License
MIT License