42 lines
		
	
	
		
			973 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			973 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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.
 | |
| ```
 |