async — это синтаксический сахар для работы с промисами, который позволяет писать асинхронный код так, как будто он синхронный. Когда ты используешь async, это означает, что функция всегда возвращает промис. А await позволяет "подождать" выполнения промиса.
С async/await код выглядит более читабельно и последовательно, как синхронный код, тогда как без них мы обычно используем цепочку промисов и методы .then() и .catch().
function fetchData() { return new Promise((resolve) => { setTimeout(() => { resolve("Данные загружены"); }, 2000); // Имитируем задержку 2 секунды }); } async function main() { try { const data = await fetchData(); // Ждем завершения промиса console.log(data); // Выводим данные } catch (error) { console.error("Ошибка:", error); } } main(); // Запускаем основную функцию
function fetchData() { return new Promise((resolve) => { setTimeout(() => { resolve("Данные загружены"); }, 2000); // Имитируем задержку 2 секунды }); } function main() { fetchData() .then((data) => { console.log(data); // Выводим данные }) .catch((error) => { console.error("Ошибка:", error); }); } main(); // Запускаем основную функцию