> Как создать и выполнить промис через конструктор в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: TYMY
Стек: JavaScript
> Пример ответа
Для создания промиса через конструктор используется ключевое слово new Promise, которому передаётся функция-исполнитель (executor) с двумя параметрами: resolve (для успешного завершения) и reject (для ошибки). Пример:
JAVASCRIPTconst 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 немедленно при создании промиса. Для отложенного выполнения оберните его в функцию:
JAVASCRIPTfunction createDelayedPromise() {return new Promise((resolve) => {setTimeout(() => resolve('Готово через 2 секунды'), 2000);});}createDelayedPromise().then(console.log);
Важно: resolve и reject должны вызываться только один раз - последующие вызовы игнорируются. Промис переходит в состояние fulfilled (после resolve) или rejected (после reject).
> Похожие задачи по frontend
Как избежать конкатенации чисел как строк в функции суммы аргументов в JavaScript?
Как реализовать бесконечный скролл
Для чего нужен тип Symbol в JavaScript?
Как создать массив с числами от 1 до 50 и вывести их в JavaScript?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью