Что и где нужно сделать в цепочке кастомного Promise, чтобы выполнение попало в catch?

Чтобы попасть в catch стандартно совместимой цепочки, промис должен отклониться: через reject, throw в обработчике then или возврат rejected Promise.

Короткий ответ

Что ответить на собеседовании

Чтобы попасть в catch стандартно совместимой цепочки, промис должен отклониться: через reject, throw в обработчике then или возврат rejected Promise.

Подробный разбор

Ответ с пояснениями

Чтобы попасть в catch стандартно совместимой цепочки, промис должен отклониться: через reject, throw в обработчике then или возврат rejected Promise.

return new Error() возвращает успешное значение-объект и сам по себе не вызывает catch. В самописном Promise нужно корректно переносить rejection и перехватывать синхронные исключения обработчиков. Без реализации нельзя указать конкретную строку исправления; сравните её поведение с этим контрактом.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее