stifle
Wrap a function, so it is only called (at most) once every X milliseconds.
var stifle = // A silly little clock { console } // Only show the time once per second var secondHand = // Call it like crazy, but it will only fire once per second var interval =
Cancellation
The wrapped function comes with a cancel
method to kill any pending future invocations -- useful for shutting it down when a page or component is being unloaded.
// Stop calling the secondHand // Cancel pending calls, or else it will fire one more time secondHand
No Extras
To keep it fast and simple, stifle
does not support:
- passing parameters
- returning values
- recursive invocation
- "flushing" pending invocations
- leading/trailing options
If you want those fancy features, check out lodash.throttle