Skip to content

Instantly share code, notes, and snippets.

@o-az
Last active May 2, 2023 23:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save o-az/bab6c3e555c12b6ac8f0809bdae19c53 to your computer and use it in GitHub Desktop.
Save o-az/bab6c3e555c12b6ac8f0809bdae19c53 to your computer and use it in GitHub Desktop.
Promise.all vs Promise.allSettled vs Promise.any vs Promise.race
const promise1 = Promise.resolve(1);
const promise2 = Promise.reject(2);
/**
* Promise.all() example
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
*/
Promise.all([promise1, promise2])
.then((value) => console.log({ value }))
.catch((error) => console.log({ error }));
// --> { "error": 2 }
/**
* Promise.allSettled() example
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled
*/
Promise.allSettled([promise1, promise2])
.then((value) => console.log(value))
.catch((error) => console.log(error));
// --> [f "status": "fulfilled", "value": 1 }, { "status": "rejected", "reason": 2 }]
/**
* Promise.any() example
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any
*/
Promise.any([promise1, promise2])
.then((value) => console.log({ value }))
.catch((error) => console.log({ error }));
// --> { "value": 1 }
/**
* Promise.race() example
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race
*/
Promise.race([promise1, promise2])
.then((value) => console.log({ value }))
.catch((error) => console.log({ error }));
// --> { "value": 1 }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment