거꾸로 바라본 세상
article thumbnail
반응형

Marble Diagram(마블 다이어그램)

ReactiveX의 문서를 읽다보면 원형 또는 사각형 등의 도형과 화살표가 들어간 그림을 말한다. 주로 Flowable/Observable에서 메서드를 호출할 때 시간경과에 따른 데이터가 어떻게 전달되고 변화되는지를 표현한다.

[Filter Diagram]

filter 메서드는 원본 데이터 중 지정한 조건에 맞는 데이터만 통지하는 메서드로 Flowable과 Observable에 있는 메서드로 둘 다 같은 처리를 수행한다. filter 메서드에서 인자를 받아 데이터를 받을건지 제외할 것인지 판단하는 함수형 인터페이스를 사용하여 결과가 true 인 데이터만 통지를 한다.

[Filter Diagram]

[에러가 발생할 경우]

처리가 정상적으로 끝나지 못하고 중간에 에러를 통지하게 되면 해당 위치에 X표시를 하고 특정에러가 통지된다. 예를들어 onErrorReturnItem 메서드는 Flowable/Observable에 에러가 밸상하면 인자로 전달받은 데이터를 통지해 완료하는 Flowable/Observable을 생성한다.

[Zip Diagram]

여러 개의 Flowable/Observable을 사용해 처리하는 다이어 그램으로 Observable에서 데이터를 받아 새로운 데이터를 만들어 통지하는 Flowable/Observable을 생성한다. 원본Flowable/Observable이 여러 개라면 원본Flowable/Observable의 데이터 통지 시점이 각각 다를 수 있는데, zip 메서드는 통지되는 데이터의 순서에 따른다. 즉, 한쪽이 먼저 첫 번째 데이터를 통지해도 다른 한쪽이 첫 번째 데이터를 통지할 때가지 데이터 결과를 통지하지 않고 시점에 맞춰서 생성한다.

[Zip Diagram]

 

마블 다이어그램의 자세한 정보는 아래 사이트를 확인하면 된다.

https://rxmarbles.com/

반응형
profile

거꾸로 바라본 세상

@란지에。

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!