Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос JS, что под капотом у конструкции async await?
@Sulti
Учу javaScript

Как работает async/await под «капотом»?

Как работает await в async функциях?
Т.к. в JS нет многопоточности, то асинхронность на себя берет окружение JS. Пример с setTimeout - ом ясен, если же ему не передать delay, то он сработает после завершения кода, который находится в callback. Т.е. для него нужно, чтобы стек был освобожден и интерпретатор "отдыхал". А как работает asyc/await?

Есть мое предположение что на стадии компиляции (когда он только объявляет переменные) интерпретатор за ранее расставляет все в message queue.

Если я все еще плохо объяснил, то вот пример:

async function foo ( ) {

await Promise ( resolve => setTimeout ( ( ) => resolve, 1000 ));
let rabbit = "jump";

          //Еще какие-то функции ниже.
}

Что происходит с rabbit и остальными действиями ниже? Куда они попадают, как и что заставляет ждать код ниже?
  • Вопрос задан
  • 706 просмотров
Подписаться 2 Средний 1 комментарий
Ответы на вопрос 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Рекомендую пользоваться поиском перед тем, как задать вопрос.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы