Just to put it out there, an ES6 implementation using async.js would look like
async.parallel({
facebook: done => request("https://api.github.com/orgs/facebook", done),
twitter: done => request("https://api.github.com/orgs/twitter", done)
}, (err, responses) => console.log(err, responses); );
And output something like:
null, {
facebook: { // facebook data },
twitter: { // twitter data }
}
Sure it suffers from a third party dependency and I would argue its slightly less concise, but we're getting to the point of opinionated API's just like some developers prefer promises, some will prefer async/await, others will continue with vanilla callbacks.