npm.io
1.0.2 • Published 10 years ago

async-all

Licence
WTFPL
Version
1.0.2
Deps
0
Vulns
0
Weekly
0

Build Status

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 // => 'some sweet value'
	results.whatever // => 'some other value'
})

all({
	tmp: fs.stat.bind(fs, '/tmp'),
	broken: fs.stat.bind(fs, '/tmp/doesntexist/asfarasIknow')
}, function(err, results) {
	startsWith(err.message, 'ENOENT') // => true
})

Install

npm install async-all

Run the tests

git clone https://github.com/TehShrike/async-all.git
cd async-all
npm test

License

WTFPL

Keywords