Async / Await

ключевое слово · JavaScript

1.

Современный синтаксис JavaScript (ES2017), позволяющий писать асинхронный код последовательно и читаемо — превращая сложные цепочки промисов в понятные инструкции, упрощая управление API-вызовами, запросами к базам данных и любыми неблокирующими операциями.

2.

Механизм, основанный на Promises, который вводит два ключевых слова: `async` для объявления асинхронной функции, автоматически возвращающей промис, и `await` для приостановки выполнения до разрешения этого промиса — устраняя «callback hell» и делая код поддерживаемым в масштабе.

3.

Незаменимый паттерн современной Full-stack разработки, используемый как на стороне клиента (React, Next.js), так и на стороне сервера (Node.js, Express.js) — обеспечивающий оптимальную производительность за счёт освобождения основного потока во время операций ввода/вывода, таких как сетевые запросы или чтение файлов.

См. также
PromiseАсинхронностьNode.jsAPI

Чтобы создать асинхронную функцию в JavaScript, достаточно поставить ключевое слово `async` перед объявлением функции. Например: `async function fetchData() const response = await fetch('/api/data'); return response.json(); `. Ключевое слово `async` автоматически превращает возвращаемое значение в промис и позволяет использовать `await` внутри тела функции. Это стандартный синтаксис, который мы используем во всех наших приложениях для корректного взаимодействия с бэкендом.

Асинхронная функция — это функция, объявленная с ключевым словом `async`, которая неявно возвращает Promise и позволяет использовать ключевое слово `await` в своём теле. В отличие от обычной функции, которая выполняется синхронно и блокирующе, она освобождает основной поток на время ожидания длительной операции (сетевой запрос, таймер, чтение файла). Этот механизм необходим для поддержания отзывчивости веб-приложения и обеспечения плавного пользовательского опыта без блокировки интерфейса.

Асинхронная функция — это функция, способная выполнять операции в фоновом режиме, не блокируя остальную часть приложения. В JavaScript она создаётся с помощью ключевого слова `async` и позволяет «приостановить» своё выполнение благодаря `await` на время завершения длительной задачи. Это паттерн, который мы ежедневно используем в Async Code для оркестрации API-вызовов, взаимодействия с базами данных и сложной обработки данных в наших приложениях на React и Next.js.