Skip to content

Instantly share code, notes, and snippets.

@davidcostadev
Created December 12, 2017 10:54
Show Gist options
  • Select an option

  • Save davidcostadev/89cdccc8a92760c9cd6e138910e6c087 to your computer and use it in GitHub Desktop.

Select an option

Save davidcostadev/89cdccc8a92760c9cd6e138910e6c087 to your computer and use it in GitHub Desktop.
array de Promises
export function pilha({ data, cursor, promise, results }) {
return new Promise((resolve, reject) => {
cursor = typeof cursor !== 'undefined' ? cursor : 0
results = typeof results !== 'undefined' ? results : []
promise(data[cursor]).then((result) => {
cursor += 1
results.push(result)
if (cursor < data.length) {
pilha({
data,
cursor,
promise,
results,
}).then((pipe) => {
resolve(pipe)
}).catch((err) => {
console.error('pilha', 'catch1')
resolve([])
})
} else {
resolve(results)
}
}).catch((err) => {
console.error('pilha', 'catch2')
resolve([])
})
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment