What will be the order of the following code:
Promise.resolve(1)
.then((val) => {
console.log(val);
return val + 1;
})
.then((val) => {
console.log(val);
})
.then((val) => {
console.log(val);
return Promise.resolve(3).then((val) => {
console.log(val);
});
})
.then((val) => {
console.log(val);
return Promise.reject(4);
})
.catch((val) => {
console.log(val);
})
.finally((val) => {
console.log(val);
return 10;
})
.then((val) => {
console.log(val);
});
Select one of the following:
1 2 undefined 3 undefined 4 undefined undefined
Here's why:
1 - First promise resolves with 12 - Second .then gets 1+1undefined - Third .then gets undefined (since previous .then had no return)3 - From the nested Promise.resolve(3)undefined - Next .then gets undefined (nested promise had no return)4 - From Promise.reject(4) caught in catchundefined - From finally (finally always receives undefined)undefined - Last .then gets undefined (finally's return value is ignored)Key points:
undefinedundefined and its return value is ignoredPromise.resolve(1)
.then((val) => {
console.log(val);
return val + 1;
})
.then((val) => {
console.log(val);
})
.then((val) => {
console.log(val);
return Promise.resolve(3).then((val) => {
console.log(val);
});
})
.then((val) => {
console.log(val);
return Promise.reject(4);
})
.catch((val) => {
console.log(val);
})
.finally((val) => {
console.log(val);
return 10;
})
.then((val) => {
console.log(val);
});1
2
undefined
3
undefined
4
undefined
undefined