@sergey19940808

JS, что под капотом у конструкции async await?

Добрый день, что происходит когда мы вызываем await function fetchUser().
Я считаю что это обертка над генератором, который приостанавливает ход асинхронной функции.
Но также я встречал что это просто вызов Promise.all([]). Так что же происходит под капотом?
  • Вопрос задан
  • 2664 просмотра
Решения вопроса 1
@Flying
Да, под капотом там генераторы и промисы. Один из вариантов проверить это - транспилировать async/await код в ES5 с помощью Babel и посмотреть что получается. Я сделал небольшой gist с тестовым проектом, там можно увидеть результат. Babel использует regenerator для реализации генераторов.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
Подробный ответ на вопрос на английском.

async / await – это синтаксический «сахар». Под капотом – генератор и yield.
Ответ написан
Комментировать
rockon404
@rockon404
Frontend Developer
Исходный код AsyncFunction в V8
Используются генераторы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы