Package Exports
- after-all-results
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (after-all-results) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
after-all-results
If you have multiple async function calls that you want to run in parallel and collect all their results in an array, this is the module for you.
It's like after-all with a build in results aggregator.
Installation
npm install after-all-results
Usage
First require the module:
var afterAll = require('after-all-results');
Then initialize with a callback that should be called once all the async stuff is done:
var next = afterAll(function (err, results) {
// all done!
console.log(results);
});
The returned next
function is essentially just a smart
callback-generator. The after-all-results module will wait and not call
the all-done function until all the generated callbacks have been
called:
someAsyncFunction(next());
anotherAsyncFunction(next());
Note: It is important that all next()
calls are done on the same
tick as the inital call to afterAll()
!
Bonus: Inception mode
var next = afterAll(function (err, results) {
// results will be an array of `arg1` from below
console.log('Done with everything!');
});
async(next(function (err, arg1, arg2) {
console.log('Done with first call to async');
});
async(next(function (err, arg1, arg2) {
console.log('Done with second call to async');
});
License
MIT