Back to questions
Middle+
2
Расскажи про промисы: состояния, методы, async/await
Companies where asked
Employcity
Answer from AI
sobes.tech AI
Промисы в JavaScript — это объекты, которые представляют результат асинхронной операции и могут находиться в одном из трёх состояний:
- Pending (ожидание) — начальное состояние, операция ещё не завершена.
- Fulfilled (выполнено) — операция успешно завершена, есть результат.
- Rejected (отклонено) — операция завершилась с ошибкой.
Основные методы промисов:
.then(onFulfilled, onRejected)— добавляет обработчики для успешного и ошибочного результата..catch(onRejected)— добавляет обработчик для ошибок (эквивалентно.then(null, onRejected))..finally(onFinally)— вызывается в любом случае после завершения промиса.
async/await — синтаксический сахар над промисами, позволяющий писать асинхронный код в стиле синхронного. Функция, объявленная с async, всегда возвращает промис. Ключевое слово await приостанавливает выполнение функции до завершения промиса.
Пример:
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => resolve('Данные получены'), 1000);
});
}
async function getData() {
try {
const result = await fetchData();
console.log(result); // 'Данные получены'
} catch (error) {
console.error('Ошибка:', error);
}
}
getData();
Такой подход упрощает чтение и обработку асинхронных операций.