Neurophysiologically Pseudoscientific Manatee

    debounce
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/debounce package

    1.2.1 • Public • Published

    debounce

    Useful for implementing behavior that should only happen after a repeated action has completed.

    Installation

    $ component install component/debounce
    

    Or in node:

    $ npm install debounce
    

    Example

    var debounce = require('debounce');
    window.onresize = debounce(resize, 200);
    
    function resize(e) {
      console.log('height', window.innerHeight);
      console.log('width', window.innerWidth);
    }

    To later clear the timer and cancel currently scheduled executions:

    window.onresize.clear();
    

    To execute any pending invocations and reset the timer:

    window.onresize.flush();
    

    Alternately, if using newer syntax:

    import { debounce } from "debounce";

    API

    debounce(fn, wait, [ immediate || false ])

    Creates and returns a new debounced version of the passed function that will postpone its execution until after wait milliseconds have elapsed since the last time it was invoked.

    Pass true for the immediate parameter to cause debounce to trigger the function on the leading edge instead of the trailing edge of the wait interval. Useful in circumstances like preventing accidental double-clicks on a "submit" button from firing a second time.

    The debounced function returned has a property 'clear' that is a function that will clear any scheduled future executions of your function.

    The debounced function returned has a property 'flush' that is a function that will immediately execute the function if and only if execution is scheduled, and reset the execution timer for subsequent invocations of the debounced function.

    License

    MIT

    Original implementation is from underscore.js which also has an MIT license.

    Install

    npm i debounce

    DownloadsWeekly Downloads

    2,956,510

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    12 kB

    Total Files

    10

    Last publish

    Collaborators

    • coreh
    • swatinem
    • timaschew
    • anthonyshort
    • ianstormtaylor
    • clintwood
    • cristiandouce
    • stagas
    • rauchg
    • kelonye
    • amasad
    • trevorgerhardt
    • juliangruber
    • thehydroimpulse
    • dominicbarnes
    • dfcreative
    • mattmueller
    • tootallnate
    • yields
    • stephenmathieson
    • retrofox
    • tjholowaychuk
    • timoxley
    • jongleberry
    • forbeslindesay
    • calvinfo
    • defunctzombie