In a microservice world, you want to fire requests in parallel and act on all of
their returns. This can be done very barebones with this tiny module.
const arr = []
arr.push(function one (task, index, array, cb) {
process.nextTick(() => {
return cb(null, {'one': 'one'})
})
})
arr.push(function two (task, index, array, cb) {
console.log('calling two')
setTimeout(function () {
return cb(null, {'two': 'two'})
}, 1000)
})
asyncForEach(arr, (err, res) => {
console.log(err)
console.log(res)
})
const arr = []
arr.push(function one (task, index, array, cb) {
process.nextTick(() => {
return cb(new Error('Simple Error'), {'one': 'one'})
})
})
arr.push(function two (task, index, array, cb) {
console.log('calling two')
setTimeout(function () {
return cb(new Error(), {'two': 'two'})
}, 1000)
})
asyncForEach(arr, (err, res) => {
console.log(err)
console.log(res)
})