Created
October 8, 2018 13:36
-
-
Save evaporei/057344fb9c1666268d144177f971c1e9 to your computer and use it in GitHub Desktop.
How promise.all rejection works
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const resolvable200 = () => new Promise((resolve, reject) => { | |
console.log('resolvable200 begin') | |
resolve(200) | |
console.log('resolvable200 end') | |
}) | |
const rejectable400 = () => new Promise((resolve, reject) => { | |
console.log('rejectable400 begin') | |
reject(400) | |
console.log('rejectable400 end') | |
}) | |
const rejectable500 = () => new Promise((resolve, reject) => { | |
console.log('rejectable500 begin') | |
reject(500) | |
console.log('rejectable500 end') | |
}) | |
Promise.all([resolvable200(), rejectable400(), rejectable500()]) | |
.then((data) => { | |
console.log('then') | |
console.log('data', data) | |
}) | |
.catch((error) => { | |
console.log('catch') | |
console.log('error', error) | |
}) | |
/* | |
Only the first error get's on `catch`, but every promise is executed till it's end. | |
Logs: | |
➤ node promise.all.js 10:34:01 | |
resolvable200 begin | |
resolvable200 end | |
rejectable400 begin | |
rejectable400 end | |
rejectable500 begin | |
rejectable500 end | |
catch | |
error 400 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment