인프런 커뮤니티 질문&답변

김보경님의 프로필 이미지
김보경

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

버퍼와 스트림 이해하기

스트림 방식에서 read와 write 사용법 차이

작성

·

205

0

제로초님 안녕하세요. 혼자서 코드를 실습해보다가 스트림 방식으로 createReadStream을 사용할 때와 createWriteStream을 사용법의 차이가 궁금해서 질문 드립니다! 혼자서 수업 코드를 작성해볼 때는 createReadStream처럼 createWriteStream도 writeStream.on('write', () => {}) 같은 이벤트 리스너 형식으로 코드를 작성해야한다고 생각했는데, 수업에서는 writeStream.write()로 작성하시더라구요! 왜 이렇게 사용 방식이 다른지 궁금합니다. 수업 중에 전자 같이 작성한 코드를 이벤트 리스너라고 하셨는데, 왜 read에는 이벤트 리스너 형식으로 작성하고 write에는 메서드로 작성하는 건가요? 그냥 외워야 하는 문법인건지 알고 싶습니다.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

찬찬히 생각해보시면 당연한 겁니다. write는 능동적인 작업이고 read는 수동적인 작업입니다. 데이터를 쓰는 건 직접 쓰는 행위를 해야 합니다. 그런데 읽는 것도 능동적인 것 아니냐하실 수 있는데 readStream은 정확히 읽는다기보다는 쪼개서 읽는 걸 하나씩 받는 동작입니다.

김보경님의 프로필 이미지
김보경
질문자

아 read는 상황에 따라 수동적으로 처리되어야하는데 write는 제가 직접 데이터를 추가하기 때문이군요. 이해됐습니다. 감사합니다!

김보경님의 프로필 이미지
김보경

작성한 질문수

질문하기