Member-only story
JavaScript Output: Promise/SetTimeout/Scoping
3 min readFeb 2, 2023
Promise channing Output
Challenge 1
(async function () {
console.log(1);
setTimeout(() => console.log(2), 0)
Promise.resolve().then(() => console.log(3))
setTimeout(() => console.log(4), 0)
console.log(5)
Promise.resolve().then(() => console.log(6))
Promise.reject().catch(() => console.log(7))
console.log(8)
})()
OUTPUT,
Challenge 2
With async/await, it changes the output pattern -
(async function () {
console.log(1);
setTimeout(() => console.log(2), 0)
Promise.resolve().then(() => console.log(3))
setTimeout(() => console.log(4), 0)
console.log(5)
await Promise.resolve().then(() => console.log(6))
Promise.reject().catch(() => console.log(7))
console.log(8)
})()
Challenge 3
const promise = new Promise((resolve, reject) => {
reject(new Error('Some error occurred'));
})
promise.catch(error => console.log(error.message));
promise.catch(error => console.log(error.message));
OUTPUT,
Some error occurred
Some error occurred
Challenge 4
const promise = new Promise((resolve, reject) => {
reject(new Error('Some…