다양한 리액티브 연산자를 이해하는데 가장 중요한 것이 마블 다이어 그램이다.
글에 비해서 시각적으로 이해하기 쉽기 때문에 마블 다이어 그램이 효과가 좋다.
마블 다이어그램이 처음에는 이해가 되지 않겠지만, 계속해서 보면 익숙해질 것이다.
책에서 나온 예제를 가지고 설명을 적어보겠다.
아래의 그림은 flip()함수의 마블 다이어그램의 예를 보여준다.
무슨 역할을 하는지 6가지로 나누어 설명할 것이다.
1번. 위에 있는 실선은 Observable의 시간 표시줄(time line)이다. 시간순으로 데이터가 발행되는 것을 표현한다.
2번. Observable이 발행하는 데이터이다. 시간 순서대로 별, 삼각형, 오각형, 원 등의 도형을 발행한다. 데이터를 발행할 때는 onNext 알림이 발생하는데 나중에 더 자세히 살명하겠다.
3번. 파이프( | )는 Observable에서 데이터 발행이 완료되었다는 것을 의미한다. 한번 완료하면 이후에는 더 이상 데이터를 발행할 수 없다. 완료하면 onComplete알림이 발생한다.
4번. 아래로 내려오는 점선 화살표는 각각 함수의 입력과 출력 데이터가 된다. 가운데 박스는 함수를 의미한다. 여기서 flip()함수는 입력값을 뒤집는 함수이다. 따라서 입력값의 색상은 그대로 두고 모양이 위아래로 180도 회전하여 뒤집어졌다.
5번. 함수의 결과가 출력되는 시간 표시줄이다.
6번. 엑스(X)는 함수가 입력값을 처리할 때 발생한 에러(error)를 의미한다. 에러가 발생하면 onError 알림이 발생한다.
'프로그래밍 > RxJava' 카테고리의 다른 글
[RxJava]Observable - just()함수 (0) | 2020.02.11 |
---|---|
[RxJava] Observable 클래스 (0) | 2020.02.11 |
[RxJava] RxJava 학습 순서 (0) | 2020.02.11 |
[RxJava] Hello RxJava2! (0) | 2020.02.07 |
[RxJava] 리액티브 프로그래밍 소개 (0) | 2020.02.07 |