Nuclear Powered Mushroom
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    asynccallguardpublic

    AsyncCallGuard Build Status

    Make all calls to a function queued and asynchronously guarded

    NPM

    Install the module with: npm install asynccallguard

    Usage

    var AsyncCallGuard = require('asynccallguard');
     
    var w  = 100;
    var f  = function(){console.log(Array.prototype.slice.call(arguments));};
    var f2 = AsyncCallGuard(f, function MyGuard(fcall){
      //
      // ... Some complex logic here...
      //
      w *= 2;
      console.log('MyGuard was called, waiting for '+w+'ms before running f');
      setTimeout(fcall, w);
    });
     
    // Make multiple calls
    f2();
    f2(1,2);
    f2(3,4);
    f2(5,6,7);
     
    // Produce:
    // MyGuard was called, waiting for 200ms before running f
    // []
    // MyGuard was called, waiting for 400ms before running f
    // [ 1, 2 ]
    // MyGuard was called, waiting for 800ms before running f
    // [ 3, 4 ]
    // MyGuard was called, waiting for 1600ms before running f
    // [ 5, 6, 7 ]
     

    Release History

    v1.0.0 - Initial commit (13 apr. 2012)

    License

    Copyright (c) 2013 Francois-Guillaume Ribreau Licensed under the MIT license.

    Keywords

    none

    install

    npm i asynccallguard

    Downloadsweekly downloads

    4

    version

    0.0.2

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar