
Run a bunch of asynchronous functions and get all the values at once at the end!
var all = require('./')
function someAsyncThing(cb) {
setTimeout(function() {
cb(null, 'some sweet value')
}, 50)
}
function someOtherAsyncThing(cb) {
setTimeout(function() {
cb(null, 'some other value')
}, 10)
}
all({
someValue: someAsyncThing,
whatever: someOtherAsyncThing
}, function(err, results) {
results.someValue
results.whatever
})
all({
tmp: fs.stat.bind(fs, '/tmp'),
broken: fs.stat.bind(fs, '/tmp/doesntexist/asfarasIknow')
}, function(err, results) {
startsWith(err.message, 'ENOENT')
})
Install
npm install async-all
Run the tests
git clone https://github.com/TehShrike/async-all.git
cd async-all
npm test
License
WTFPL