> Что такое промисы в JavaScript и как они работают (JavaScript)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: Иннотех, Cyber Interactive, Kvando Technologies, Soft_Media_Group, ООО Премиум ИТ Солюшен, ЛитРес, IT-One, Софт Медиа Групп, Библио-Глобус, Сбер, Globaldrive, Purrweb, SmartWay, Яндекс

Стек: JavaScript

> Пример ответа

Промис (Promise) в JavaScript - это объект, представляющий асинхронную операцию, которая может завершиться в будущем. Он находится в одном из трёх состояний: pending (ожидание), fulfilled (выполнено успешно) или rejected (отклонено с ошибкой). Промис позволяет избежать «ада колбэков» и упрощает работу с асинхронным кодом.

Как работает промис: при создании он принимает функцию-исполнитель с двумя параметрами: resolve (вызывается при успехе) и reject (при ошибке). После вызова одного из них промис переходит в финальное состояние. Для обработки результата используются методы .then() (для успеха), .catch() (для ошибки) и .finally() (выполняется в любом случае).

Пример:

JAVASCRIPT
const fetchData = new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
if (success) {
resolve('Данные получены');
} else {
reject('Ошибка загрузки');
}
}, 1000);
});
fetchData
.then(data => console.log(data)) // "Данные получены"
.catch(error => console.error(error))
.finally(() => console.log('Завершено'));

Промисы также поддерживают цепочки вызовов (chaining) и статические методы, такие как Promise.all() (ждёт все промисы) и Promise.race() (ждёт первый завершённый).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью