Top-level await — это возможность, появившаяся в ES2022, которая позволяет использовать ключевое слово await вне async-функций — но только внутри ES-модулей (файлов, использующих синтаксис import/export).
До появления этой возможности await можно было использовать только внутри функций, помеченных как async.
Это упрощает инициализацию модуля, когда на верхнем уровне нужны асинхронные операции, например:
// data.mjs (ES Module)
const response = await fetch('https://api.example.com/config');
const config = await response.json();
export { config };
Любой модуль, который импортирует data.mjs, автоматически дождётся завершения этих асинхронных операций перед выполнением.
require)await не завершитсяTop-level await можно использовать непосредственно в CommonJS модулях, которые используют синтаксис require().
Новый — ещё не проверен сообществом
Вы