Вопрос проверяет понимание синтаксического сахара для работы с промисами в JavaScript и умение писать асинхронный код.
async и await — это современный способ работы с асинхронным кодом в JavaScript, введённый в ES2017. Они не заменяют промисы, а делают их использование более удобным и читаемым. Ключевое слово async перед функцией гарантирует, что она вернёт промис, даже если внутри нет явного return. await можно использовать только внутри async-функций; он приостанавливает выполнение до тех пор, пока промис не завершится, и возвращает его результат.
// Без async/await
function fetchData() {
return fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data));
}
// С async/await
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}async/await широко используется в веб-разработке для обработки запросов к API, чтения файлов, работы с базами данных и любых других операций, требующих ожидания. Он особенно полезен в сценариях, где нужно выполнить несколько асинхронных операций последовательно или параллельно с помощью Promise.all.
async/await стоит применять везде, где требуется асинхронность, чтобы сделать код более линейным и понятным, особенно при работе с цепочками промисов или сложной логикой зависимостей.