Na zachętę - co wypisze następujący kod?
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0);
Promise.resolve().then(function() {
console.log('promise1');
}).then(function() {
console.log('promise2');
});
console.log('script end');
Nawet jeżeli wynik Cię nie zaskoczył, gorąco zachęcam do lektury poniższego artykułu: