forked from lix-project/lix-website
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.
|
||
|
```
|