@undefined_title

Как работает event loop и асинхронность, можете объяснить на этом примере?

fetch("google.com").then() { console.log('log-1 получен ответ от сервера') }

console.log('log-2 js это выполнит после отправки запроса серверу')

setTimeout(function() { console.log('log-3 штучно созданная асинхронность ') }, 1000)

// какой то сложный синхронный код который будет выполнятся две секунды
for(i =2; i < 9999999; i++) { if (i === 9999999) {console.log('log-4, синхронный код который выполнялся 2с.')}}

Каждую консоль я обозначил как log и номер. Как я понимаю, сначала сделается запрос на google, и для того чтобы не ждать интерпретатор начнет выполнять log-2, след. поставится таймаут на log-3, а после начнет выполнятся синхронный цикл, асинхронные log-1 и log-3 смогут прервать выполнение синхронного кода и довыполнять их, или это произойдет только после завершения выполнения синхронного цикла?
то есть
log-2
log-4
log-3 или log-1 - зависит от времени через которое прийдет ответ от google
ИЛИ
log-2
log-3 или log-1 - зависит от времени через которое прийдет ответ от google
log-4
???
можете объяснить как здесь все будет происходить с точки зрения событийного цикла и асинхронности? какая будет очередь, какой стек вызова...
  • Вопрос задан
  • 787 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы