Этот вопрос проверяет понимание асинхронного программирования в JavaScript.
Promise (Обещание) — это объект, который представляет результат асинхронной операции. Он может находиться в одном из трех состояний: ожидание (pending), успех (fulfilled) или ошибка (rejected). Промисы помогают избежать "ада колбэков" и делают код чище.
Promise — это механизм в JavaScript для работы с асинхронными операциями, такими как HTTP-запросы, чтение файлов или таймеры. Вместо вложенных колбэков (callback hell) промисы позволяют писать более понятный и линейный код.
Промис имеет три состояния:
Pending — операция еще не завершена.
Fulfilled — операция успешно выполнена.
Rejected — произошла ошибка.
Пример создания и использования промиса:
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
if (success) {
resolve("Данные успешно получены!");
} else {
reject("Ошибка загрузки данных.");
}
}, 1000);
});
myPromise
.then((result) => console.log(result)) // Успех
.catch((error) => console.error(error)); // ОшибкаПромисы можно объединять в цепочки (then().then()...), обрабатывать ошибки через .catch() и выполнять несколько операций параллельно с Promise.all().