throttle-promise
Throttle promise-returning & async functions
It also works with normal functions.
Useful for rate limiting calls to an external API, for example.
NOTE: This is a fork of p-throttle, but without ES6 in the source code.
Install
$ npm install throttle-promise
Usage
Here, the trottled function is only called twice a second:
const throttle = ; const now = Date; const throttled = ; for let i = 1; i <= 6; i++ ;//=> 1: 0s//=> 2: 0s//=> 3: 1s//=> 4: 1s//=> 5: 2s//=> 6: 2s
API
throttle(fn, limit, interval)
Returns a throttled version of fn
.
fn
Type: Function
Promise-returning/async function or a normal function.
limit
Type: number
Maximum number of calls within an interval
.
interval
Type: number
Timespan for limit
in milliseconds.
throttledFn.abort()
Abort pending executions. All unresolved promises are rejected with a throttle.AbortError
error.
Related
- p-debounce - Debounce promise-returning & async functions
- p-limit - Run multiple promise-returning & async functions with limited concurrency
- p-memoize - Memoize promise-returning & async functions
- More…
License
MIT © Sindre Sorhus