Выбор ответа Middle Ошибки и логирование спрашивают часто обновлено
Необработанный rejected промис в Node 22
Вопрос
В Node 22 асинхронная функция бросила ошибку, а её результат никто не ждёт и не обрабатывает. Нет и обработчика unhandledRejection. Что произойдёт?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Процесс завершится с кодом 1. С Node 15 режим по умолчанию --unhandled-rejections=throw: необработанное отклонение превращается в исключение и роняет процесс.
Варианты ответа
- Предупреждение в консоли, процесс продолжит работу
- Ошибка будет молча проигнорирована
- Промис будет повторно выполнен
- Процесс завершится с кодом 1правильный ответ
Разбор
С Node 15 режим по умолчанию --unhandled-rejections=throw: необработанное отклонение превращается в исключение и роняет процесс. Это сделали, чтобы ошибки не терялись.
- Предупреждение без падения было поведением Node 14 и раньше.
- Молча ошибки не игнорируются.
- Промисы не перезапускаются.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.