Каков правильный способ обработки ошибок с потоками? Я уже знаю, что есть событие "ошибки", которое вы можете прослушать, но я хочу узнать более подробную информацию о произвольно сложных ситуациях.
Для начала, что вы делаете, когда хотите сделать простую цепочку труб:
input.pipe(transformA).pipe(transformB).pipe(transformC)...
И как вы правильно создаете одно из этих преобразований, чтобы ошибки обрабатывались правильно?
Другие связанные вопросы:
- когда происходит ошибка, что происходит с событием "end"? Это никогда не срабатывает? Иногда его увольняют? Это зависит от преобразования/потока? Каковы стандарты здесь?
- Существуют ли какие-либо механизмы для ошибок распространения через трубы?
- Домены эффективно решают эту проблему? Примеры были бы приятными.
- Ошибки, возникающие из событий "error", имеют трассировки стека? Иногда? Никогда? есть ли способ получить их от них?