Node js ReadableStream


> ### event
> - data
> - end
> - error
> - close
> - readable

> ### mode
> - pause (pull)
> - flowing (push)

> ### function
> - pipe()
> - unpipe()
> - read()
> - unshift()
> - resume()
> - pause()
> - isPaused()
> - setEncoding()


- `readableObjectMode` - 기본적으로 string, buffer만 받는데 array도 받게 
![](https://www.notion.so/image/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1*HI-mtispQ13qm8ib5yey3g.png?table=block&id=87532a1d-616e-4a49-95c5-f019821c6ffb&cache=v2)
pipe 메소드로 읽기 가능한 스트림을 사용할 때는 두 모드를 신경쓰지 않아도 된다
pipe 가 자동으로 관리하기 때문



```typeconst { Readable } = require("stream")const inStream = new Readable()inStream.push("ABCDEFGHIJKLM")inStream.push("NOPQRSTUVWXYZ")inStream.push(null) // 더 이상 데이터 없음 표시inStream.pipe(process.stdout)```






> [Node.js Stream 당신이 알아야할 모든 것 3편](https://jeonghwan-kim.github.io/node/2017/08/12/node-stream-you-need-to-know-3.html)

> [Node.js Stream 당신이 알아야할 모든 것 2편](https://jeonghwan-kim.github.io/node/2017/08/07/node-stream-you-need-to-know-2.html)





