useThrottleFn ​
Category
Export Size
401 B
Last Changed
5 months ago
Related
Throttle execution of a function. Especially useful for rate limiting execution of handlers on events like resize and scroll.
Throttle is a spring that throws balls: after a ball flies out it needs some time to shrink back, so it cannot throw any more balls unless it's ready.
Demo ​
Delay is set to 1000ms for this demo.
Button clicked: 0
Event handler called: 0
Usage ​
js
import { useThrottleFn } from '@vueuse/core'
const throttledFn = useThrottleFn(() => {
// do something, it will be called at most 1 time per second
}, 1000)
window.addEventListener('resize', throttledFn)
Recommended Reading ​
Type Declarations ​
typescript
/**
* Throttle execution of a function. Especially useful for rate limiting
* execution of handlers on events like resize and scroll.
*
* @param fn A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
* to `callback` when the throttled-function is executed.
* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
*
* @param [trailing] if true, call fn again after the time is up
*
* @param [leading] if true, call fn on the leading edge of the ms timeout
*
* @param [rejectOnCancel] if true, reject the last call if it's been cancel
*
* @return A new, throttled, function.
*/
export declare function useThrottleFn<T extends FunctionArgs>(
fn: T,
ms?: MaybeRefOrGetter<number>,
trailing?: boolean,
leading?: boolean,
rejectOnCancel?: boolean,
): PromisifyFn<T>
Source ​
Contributors ​
Anthony Fu
丶远方
vaakian X
azaleta
webfansplz
Jakub Freisler
Roman Harmyder
wheat
Changelog ​
v10.0.0-beta.4
on 4/13/20234d757
- feat(types)!: rename MaybeComputedRef
to MaybeRefOrGetter
v9.10.0
on 1/3/2023