Sobes.tech
Middle
14

Как организована работа с асинхронным кодом в JavaScript?

Компании, где спрашивали
Лантан

Ответ от нейросети

sobes.tech AI

В JavaScript асинхронный код организован с помощью нескольких основных механизмов:

  1. Callbacks (обратные вызовы) — функции, передаваемые в другую функцию и вызываемые после завершения асинхронной операции. Недостаток — "ад обратных вызовов" при вложенности.

  2. Promises (промисы) — объекты, представляющие результат асинхронной операции, который может быть выполнен или отклонён. Позволяют писать цепочки .then() и .catch(), улучшая читаемость.

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

Пример с async/await:

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Ошибка:', error);
  }
}

fetchData();

Таким образом, асинхронность в JS позволяет не блокировать основной поток выполнения, обрабатывать операции ввода-вывода, сетевые запросы и таймеры эффективно.