> Как создать и выполнить промис через конструктор в JavaScript (JavaScript)

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

Компании: TYMY

Стек: JavaScript

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

Для создания промиса через конструктор используется ключевое слово new Promise, которому передаётся функция-исполнитель (executor) с двумя параметрами: resolve (для успешного завершения) и reject (для ошибки). Пример:

JAVASCRIPT
const myPromise = new Promise((resolve, reject) => {
// Асинхронная операция, например, запрос к серверу
const success = true; // Условие выполнения
if (success) {
resolve('Данные получены');
} else {
reject('Ошибка загрузки');
}
});
// Выполнение промиса
myPromise
.then(result => console.log(result)) // "Данные получены"
.catch(error => console.error(error));

Конструктор запускает executor немедленно при создании промиса. Для отложенного выполнения оберните его в функцию:

JAVASCRIPT
function createDelayedPromise() {
return new Promise((resolve) => {
setTimeout(() => resolve('Готово через 2 секунды'), 2000);
});
}
createDelayedPromise().then(console.log);

Важно: resolve и reject должны вызываться только один раз - последующие вызовы игнорируются. Промис переходит в состояние fulfilled (после resolve) или rejected (после reject).

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

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