Skip to main content
Практика завдань

Що таке async/await у JavaScript

async та await — це синтаксичний цукор над промісами, введений у ES2017, який дозволяє писати асинхронний код так, ніби він є синхронним.

  • async — робить функцію асинхронною, автоматично повертаючи Promise.
  • awaitпризупиняє виконання всередині async функції, поки проміс не завершиться (успішно або з помилкою).

Простий приклад

javascript
function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function greet() { console.log("Waiting..."); await delay(1000); // Чекати 1 секунду console.log("Hello after 1 second!"); } greet();

async: Як це працює?

javascript
async function foo() { return 42; } foo().then(result => console.log(result)); // 42

Навіть якщо функція повертає просте значення, async обгортає його в Promise.

await: Як це працює?

javascript
async function fetchUser() { const res = await fetch("/user.json"); const data = await res.json(); return data; }
  • await призупиняє виконання, поки fetch не поверне результат.
  • Після завершення результат передається змінній, і виконання продовжується.

Обробка помилок

З async/await зручно використовувати try/catch:

javascript
async function getData() { try { const response = await fetch("/api"); const data = await response.json(); console.log(data); } catch (error) { console.error("An error occurred:", error); } }

Особливості

  • await може використовуватися тільки всередині асинхронної функції.
  • await працює лише з промісами (або будь-якими об'єктами, що підтримують then).
  • Якщо await повертає помилку, вона викидається і перехоплюється в catch.

Підсумок

  • async/await робить асинхронний код зрозумілим, лінійним і чистим.
  • Це не замінює проміси, але спрощує їх використання.
  • Завжди обробляйте помилки за допомогою try/catch або .catch().

Добре знати:

await не блокує головний потік! Він лише призупиняє виконання поточної асинхронної функції, звільняючи потік для інших завдань.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань