First one was somethink like execution flow of following, I waht order they would be executed console.log("Start"); setTimeout(() => { console.log("Hello"); }, 0); const promise1 = new Promise((resolve, reject) => { resolve('Success!'); }); promise1.then((value) => { console.log(value); }); const promise2 = new Promise((resolve, reject) => { resolve('Success2!'); }); promise2.then((value) => { console.log(value); }); console.log("End");