> Что такое проваливание промисов (Promise rejection) в JavaScript (JavaScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Aston
Стек: JavaScript
> Пример ответа
Проваливание промисов (rejection) в JavaScript - это механизм, с помощью которого Promise сигнализирует о том, что асинхронная операция завершилась с ошибкой. Когда промис переходит в состояние rejected, это означает, что операция не удалась, и в нём хранится причина отказа (обычно объект ошибки).
Основные способы создать rejected-промис:
- Явный вызов
reject()в конструкторе Promise:
JAVASCRIPTconst promise = new Promise((resolve, reject) => {reject(new Error('Что-то пошло не так'));});
- Выброс исключения внутри конструктора или в цепочке
.then():
JAVASCRIPTconst promise = new Promise(() => {throw new Error('Ошибка');});
- Использование статического метода
Promise.reject():
JAVASCRIPTconst promise = Promise.reject('Просто строка ошибки');
Обработка провала осуществляется через метод .catch() или второй аргумент .then():
JAVASCRIPTpromise.then(result => console.log(result)).catch(error => console.error('Поймали:', error));
Важно: если rejected-промис не обработать (нет .catch() или try/catch в async/await), это приведёт к глобальной ошибке unhandledrejection в среде выполнения (браузер, Node.js). В современном JavaScript рекомендуется всегда завершать цепочки промисов обработчиком ошибок.
> Похожие задачи по frontend
Как повесить обработчик на резолв каждого промиса в массиве для реализации any?
Что произойдет при прямой мутации состояния в редьюсере Redux
Что такое гидрация в веб-разработке
Что такое Zustand и как он используется
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью