Есть код
const run = () => {
setTimeout(() => {
console.log('timeOut')
}, 0)
console.log(1)
new Promise(resolve => {
console.log("Promise")
setTimeout(() => {
console.log('777')
resolve()
}, 0)
})
.then(() => console.log('then1'))
.then(() => console.log('then2'))
console.log(4)
setTimeout(() => {
console.log('timeOut2')
}, 0)
}
run()
почему порядок вывода таков ?
1
Promise
4
timeOut
777
then1
then2
timeOut2
То что первым выводится синхр код - понятно. Но дальше у нас идут таймауты макро таски и промис с двумя then это к микро таскам
Микро таски же должны быть в первую очередь после синхр кода ?