스트림은 Node.js의 가장 중요한 컴포넌트이며 패턴 중 하나이다. 커뮤니티 내에는 "모든것에 스트림을!' 이라는 모토가 있다. 이것만으로도 Node.js에서 스트림의 역할을 설명하기 충분하다. Node.js 커뮤니티의 핵심 공헌자인 Dominc Tar는 스트림은 Node의 최고이면서 가장 오해하고 있는 개념으로 정의한다.
Node.js의 스트림이 매우 매력적인 이유는 여러 가지가 있는데, 성능이나 효율성과 같은 기술적 속성에 관한 것 뿐만 아니라, 그 세련됨과 Node.js 철학에 완벽하게 부합하는 방식에 관련된 것이다.
Node.js와 같은 이벤트 기반 플랫폼에서 I/O를 처리하는 가장 효율적인 방법은 실시간으로 바로 입력을 사용하고, 어플리케이션에서 출력이 생성되는 즉시 내보내는 것이다.
버퍼 모드인 비동기 API는 입력 조작의 경우 버퍼 모드에서는 리소스부터 오는 모든 데이터를 버퍼에 수집한다. 그리고 자원을 모두 읽어들인 후 콜백에 전달한다. 다음 그리에서 이 패러다임을 시각적으로 보여준다.