Like async-each, or q.all(), but with an object instead of an array
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.travis.yml
index.js
package.json
readme.md
test.js

readme.md

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