Skip to content

Instantly share code, notes, and snippets.

@bearkfear
Created November 21, 2020 03:29
Show Gist options
  • Save bearkfear/e8ea079b478851f3cffda444ea6c7eda to your computer and use it in GitHub Desktop.
Save bearkfear/e8ea079b478851f3cffda444ea6c7eda to your computer and use it in GitHub Desktop.
Retorna a primeira a dar sucesso ou um array de erros
function invertPromise (p: Promise<any>) {
return new Promise(function (resolve, reject) {
return p.then(reject, resolve)
})
}
function firstOfResolve (promises: Array<Promise<any>>) {
return invertPromise(Promise.all(promises.map(p => {
return invertPromise(p)
})))
}
@bearkfear
Copy link
Author

Retorna a primeira promesa a resolver em paralelismo ou um array de erros caso todas tenham falhado. Funciona aplicando dupla negação em conjunto com as funcionalidades do Promise.all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment