Выбор ответа Middle Асинхронные паттерны обновлено
Событие error без слушателя
Вопрос
У объекта-EventEmitter нет ни одного слушателя error. Что произойдёт при emitter.emit("error", new Error("x"))?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: emit бросит ошибку; не поймана, процесс упадёт. Событие error особое: без слушателя emit бросает переданную ошибку.
Варианты ответа
- Событие молча проигнорируется, как любое без слушателей
- emit бросит ошибку; не поймана, процесс упадётправильный ответ
- Ошибка выведется в консоль как предупреждение
- Ошибка превратится в отклонённый промис
Разбор
Событие error особое: без слушателя emit бросает переданную ошибку. Если её никто не поймал, это uncaught exception и падение процесса. Поэтому на потоки, сокеты и свои эмиттеры всегда вешают обработчик error.
- Любое другое событие без слушателей действительно игнорируется, но не
error. - Предупреждением это не ограничивается.
- Промисов здесь нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Как обработать 10 000 URL не больше чем по 10 за раз
Следующий вопрос
Error-first callback