2부 Chapter 04. RxJS 오퍼레이터를 살펴보기 전에
1.1. 마블 다이어그램(marble diagram)
- 시간에 따른 데이터 흐름을 추상화한 도표
- 각 Observable이 구독될 때 데이터의 흐름을 표현하는 다이어그램
- 가로는 시간의 축, 왼쪽에서 오른쪽으로 시간의 경과를 나타냄
- 세로의 선 하나는 하나의 Observable을 나타냄

- 입력 Observable은 4, 6, a, 8의 데이터를 순서대로 보내고 정상 완료 여부를 전달
- 입력 Observable을 기반으로 multiplyByTen 오퍼레이터가 적용되어 새로운 경과 Observable이 생성됨
- 결과 Observable은 입력 Observable의 값을 10배로 곱한 값을 전달
- 40, 60까지 전달 후 a를 10배 곱할 때 에러가 발생하여 에러 상태를 전달하고 종료, 더이상 데이터를 전달하지 않음
공식 홈페이지에서 각 오퍼레이터에 대한 상세 내용 및 마블 다이어그램 확인 가능
https://rxmarbles.com에서 각 오퍼레이터에 대한 인터렉티브한 마블다이어그램 확인 가능
1.2. 오퍼레이터 활용법
- RxJS에서 제공하는 오퍼레이터는 굉장히 많으며 이를 한번에 모두 알기는 어려움
1.2.1. RxJS 오퍼레이터는 어떻게 찾죠?
1.2.2. RxJS 오퍼레이터는 어떻게 학습하는게 좋을까요?
- API 문서에 있는 순서대로 학습하기 보다는 의도하는 기능을 구현함으로서 오퍼레이터를 알아가는 방법을 추천