Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled function comes with a cancel method to cancel delayed func invocations and a flush method to immediately invoke them. Provide options to indicate whether func should be invoked on the leading and/or trailing edge of the wait timeout. The func is invoked with the last arguments provided to the throttled function.
Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only if the throttled function is invoked more than once during the wait timeout.
If wait is 0 and leading is false, func invocation is deferred until to the next tick, similar to setTimeout with a timeout of 0.
Differences from lodash:
does not return the results of the last invocation
does not make any guarantees about the value of this in func
Contribution to minified bundle size, when it is the only function imported:
Creates a throttled function that only invokes
func
at most once per everywait
milliseconds. The throttled function comes with acancel
method to cancel delayedfunc
invocations and aflush
method to immediately invoke them. Provideoptions
to indicate whetherfunc
should be invoked on the leading and/or trailing edge of thewait
timeout. Thefunc
is invoked with the last arguments provided to the throttled function.Note: If
leading
andtrailing
options aretrue
,func
is invoked on the trailing edge of the timeout only if the throttled function is invoked more than once during thewait
timeout.If
wait
is 0 andleading
isfalse
,func
invocation is deferred until to the next tick, similar tosetTimeout
with a timeout of 0.Differences from lodash:
this
infunc
Contribution to minified bundle size, when it is the only function imported: