Чтобы попасть в catch стандартно совместимой цепочки, промис должен отклониться: через reject, throw в обработчике then или возврат rejected Promise.
Что и где нужно сделать в цепочке кастомного Promise, чтобы выполнение попало в catch?
Чтобы попасть в catch стандартно совместимой цепочки, промис должен отклониться: через reject, throw в обработчике then или возврат rejected Promise.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Чтобы попасть в catch стандартно совместимой цепочки, промис должен отклониться: через reject, throw в обработчике then или возврат rejected Promise.
return new Error() возвращает успешное значение-объект и сам по себе не вызывает catch. В самописном Promise нужно корректно переносить rejection и перехватывать синхронные исключения обработчиков. Без реализации нельзя указать конкретную строку исправления; сравните её поведение с этим контрактом.