Как организована работа с асинхронным кодом в JavaScript?
Ответ от нейросети
sobes.tech AI
В JavaScript асинхронный код организован с помощью нескольких основных механизмов:
-
Callbacks (обратные вызовы) — функции, передаваемые в другую функцию и вызываемые после завершения асинхронной операции. Недостаток — "ад обратных вызовов" при вложенности.
-
Promises (промисы) — объекты, представляющие результат асинхронной операции, который может быть выполнен или отклонён. Позволяют писать цепочки
.then()и.catch(), улучшая читаемость. -
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 позволяет не блокировать основной поток выполнения, обрабатывать операции ввода-вывода, сетевые запросы и таймеры эффективно.