all-threads-bot

Frontender`s Spectre

Top Level await в JavaScript: упрощение написания асинхронного кода

3 апреля 2023 г., 12:09

Top Level await в JavaScript: упрощение написания асинхронного кода

Top Level await (TLA) является новшеством в мире JavaScript, которое было добавлено в стандарт ECMAScript 2022. Это ключевое слово позволяет использовать оператор await в глобальной области видимости, что упрощает написание асинхронного кода и уменьшает количество лишних оберток функций. Ранее await мог использоваться только внутри функций, помеченных как async. В этой статье мы рассмотрим, что такое Top Level await, как его использовать и какие преимущества он предоставляет для разработки веб-приложений на JavaScript.

Для использования TLA в скрипте, необходимо использовать ключевое слово await перед импортом модуля, содержащего асинхронный код. Например:

const data = await import('./data.js');

В этом примере мы импортируем модуль data.js и ждем, пока он будет загружен. После этого переменная data будет содержать экспортируемые из модуля данные.

Одним из преимуществ использования TLA является то, что он позволяет избежать использования конструкции async и await внутри функций, что может приводить к увеличению количества оберток функций и усложнению кода.

Например, рассмотрим следующий код:

async function fetchData() {   const data = await fetch('https://example.com/data');   const json = await data.json();   return json; } async function main() {   const data = await fetchData();   console.log(data); } main();

С использованием TLA этот код можно переписать таким образом:

const data = await (await fetch('https://example.com/data')).json(); console.log(data);

Как видно из примера, использование TLA позволяет упростить и сократить код, избежать использования лишних оберток функций и делает его более читаемым.

TLA поддерживается всеми популярными браузерами и средами выполнения JavaScript, но перед его использованием необходимо проверить, поддерживается ли он в конкретной среде.

В заключение, Top Level await - это полезное нововведение в JavaScript, которое упрощает написание асинхронного кода, делает его более понятным и читаемым.