> Что такое проваливание промисов (Promise rejection) в JavaScript (JavaScript)

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

Компании: Aston

Стек: JavaScript

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

Проваливание промисов (rejection) в JavaScript - это механизм, с помощью которого Promise сигнализирует о том, что асинхронная операция завершилась с ошибкой. Когда промис переходит в состояние rejected, это означает, что операция не удалась, и в нём хранится причина отказа (обычно объект ошибки).

Основные способы создать rejected-промис:

  1. Явный вызов reject() в конструкторе Promise:
JAVASCRIPT
const promise = new Promise((resolve, reject) => {
reject(new Error('Что-то пошло не так'));
});
  1. Выброс исключения внутри конструктора или в цепочке .then():
JAVASCRIPT
const promise = new Promise(() => {
throw new Error('Ошибка');
});
  1. Использование статического метода Promise.reject():
JAVASCRIPT
const promise = Promise.reject('Просто строка ошибки');

Обработка провала осуществляется через метод .catch() или второй аргумент .then():

JAVASCRIPT
promise
.then(result => console.log(result))
.catch(error => console.error('Поймали:', error));

Важно: если rejected-промис не обработать (нет .catch() или try/catch в async/await), это приведёт к глобальной ошибке unhandledrejection в среде выполнения (браузер, Node.js). В современном JavaScript рекомендуется всегда завершать цепочки промисов обработчиком ошибок.

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

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