본문 바로가기
Rx

Observable -11 (Maybe 클래스)

by 봄석 2018. 12. 23.

본 내용은 필자가 학습한 내용을 정리하는 내용입니다.

대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!

RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에

유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc=



Maybe 클래스

Maybe 클래스는 RxJava 2에 처음 도입된 Observable의 또 다른 특수 형태입니다.

한글로 '아마도'라는 뜻으로,  Single 클래스와 마찬가지로 최대 데이터 하나를 가질 수 있지만

데이터 발행 없이 바로 데이터 발생을 완료(Single 클래스는 1개 완료, Maybe 클래스는 0 혹은 1개 완료)할 수도 있습니다. 즉 Maybe 클래스는 Single 클래스에 onComplete 이벤트가 추가 된 형태 입니다.




Maybe 클래스의 마블 다이어 그램

 출처- http://reactivex.io/RxJava/javadoc/io/reactivex/Maybe.html



✓는 onSuccess 이벤트, X는 onError 이벤트, | 는 onComplete 이벤트에 해당합니다


Maybe 객체는 Maybe 클래스를 이용해 생성할 수 있지만 보통 Observable의 특정 연산자를 통해 생성할 때가 많습니다.


또한 Maybe 객체를 생성할 수 있는 리액티브 연산자에는 elementAt(), firstElement(), flatMapMaybe(), lastElement(), reduce(), singleElement() 함수 등이 있습니다.



댓글