Skip to content

Instantly share code, notes, and snippets.

@nomanalikhan
Forked from Yopadd/async-flat-map.js
Created September 22, 2020 19:51
Show Gist options
  • Save nomanalikhan/0be1a9c53c61d765d90fb6ca3090fec4 to your computer and use it in GitHub Desktop.
Save nomanalikhan/0be1a9c53c61d765d90fb6ca3090fec4 to your computer and use it in GitHub Desktop.
return a flatten map resolved by async function
async function asyncFlatMap (arr, asyncFn) {
return Promise.all(flatten(await asyncMap(arr, asyncFn)))
}
function asyncMap (arr, asyncFn) {
return Promise.all(arr.map(asyncFn))
}
function flatMap (arr, fn) {
return flatten(arr.map(fn))
}
function flatten (arr) {
return [].concat(...arr)
}
module.exports = {
asyncFlatMap,
asyncMap,
flatMap,
flatten
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment