Node.js streams triggers both end and finish events. What\'s the difference between both?
end and finish are the same event BUT on different types of Streams.
stream.Readable fires ONLY end and NEVER finishstream.Writable fires ONLY finish and NEVER endSource: https://nodejs.org/dist/latest-v5.x/docs/api/stream.html
Why the different naming of the same event?
The only reason I could think of is because of duplex streams (stream.Duplex), which implement both stream.Readable and stream.Writable interfaces (https://nodejs.org/dist/latest-v5.x/docs/api/stream.html#stream_class_stream_duplex) are readable and writable stream at the same time. To differentiate between end of reading and end of writing on the stream you must have a different event fired. SO, for Duplex streams end is end of reading and finish is end of writing.