JavaScript: Promises и async/await

Асинхронное программирование — это одна из важнейших концепций в JavaScript, позволяющая выполнять задачи без блокировки основного потока исполнения. В ES6 (EcmaScript 2015) появились промисы (promises), а в ES8 (EcmaScript 2017) добавилась возможность использования async/await, что значительно упростило работу с асинхронным кодом.

Что такое Promises?


Промисы — это объекты, представляющие результат будущей операции. Они могут находиться в трех состояниях:
  • Pending: ожидание результата.
  • Resolved: операция выполнена успешно.
  • Rejected: операция завершилась неудачей.

Пример использования Promises:
const waitForIt = ms => new Promise(resolve => setTimeout(resolve, ms));

waitForIt(2000)
  .then(() => console.log("Готово!"))
  .catch(error => console.error(error));

Что такое async/await?


Async/await — это синтаксический сахар для работы с промисами, позволяющий писать асинхронный код в виде последовательного, синхронного кода.

Пример использования async/await:
async function getData() {
    const response = await fetch("/api/data");
    const data = await response.json();
    return data;
}

getData().then(data => console.log(data));

Промисы и async/await — это мощные инструменты для работы с асинхронностью в JavaScript. Используйте их, чтобы писать чистый, понятный и легко поддерживаемый код.

Автор:  10 часов назад