Node.js запускают события end
и finish
. Какая разница между обоими?
Какая разница между событиями конца и конца в потоках Node
Потоки
Ответ 1
end
и finish
- это одно и то же событие, но для разных типов потоков.
-
stream.Readable
срабатывает ТОЛЬКОend
и НИКОГДАfinish
-
stream.Writable
срабатывает ТОЛЬКОfinish
и НИКОГДАend
Источник: https://nodejs.org/dist/latest-v5.x/docs/api/stream.html
Почему разные имена одного и того же события?
Единственная причина, по которой я могу думать, - это дуплексные потоки (stream.Duplex
), которые реализуют интерфейсы stream.Readable
и stream.Writable
(https://nodejs.org/dist/latest-v5.x/docs/api/stream.html#stream_class_stream_duplex) являются читаемыми и записываемыми потоками в одно и то же время. Чтобы различать конец чтения и конец записи в потоке, у вас должно быть другое событие. SO, для дуплексных потоков end
- конец чтения, а finish
- конец записи.