| # Pend |
| |
| Dead-simple optimistic async helper. |
| |
| ## Usage |
| |
| ```js |
| var Pend = require('pend'); |
| var pend = new Pend(); |
| pend.max = 10; // defaults to Infinity |
| setTimeout(pend.hold(), 1000); // pend.wait will have to wait for this hold to finish |
| pend.go(function(cb) { |
| console.log("this function is immediately executed"); |
| setTimeout(function() { |
| console.log("calling cb 1"); |
| cb(); |
| }, 500); |
| }); |
| pend.go(function(cb) { |
| console.log("this function is also immediately executed"); |
| setTimeout(function() { |
| console.log("calling cb 2"); |
| cb(); |
| }, 1000); |
| }); |
| pend.wait(function(err) { |
| console.log("this is excuted when the first 2 have returned."); |
| console.log("err is a possible error in the standard callback style."); |
| }); |
| ``` |
| |
| Output: |
| |
| ``` |
| this function is immediately executed |
| this function is also immediately executed |
| calling cb 1 |
| calling cb 2 |
| this is excuted when the first 2 have returned. |
| err is a possible error in the standard callback style. |
| ``` |