Node Streams are a powerful way to build modules and applications that deal with large streams of data. The Streams API has gone through a few revisions and has steadily been improving. Streams 1 introduced push-streams to allow developers to consume data efficiently. Streams 2 added pull-streams in addition to push-streams to allow advanced use-cases, however, the two styles could not be used together. Streams 3 solves this issue in an elegant manner and allows the same stream to be used in both push and pull mode. Streams3 is available in Node v0.11/v0.12 and io.js.
Read on to dig into the details.