Observable의 또 다른 특수 형태입니다. 영어의 ‘maybe’는 ‘아마도’라는 뜻입니다. 이 뜻처럼 Single 클래스와 마찬가지로 최대 데이터 하나를 가질 수 있지만 데이터 발행 없이 바로 데이터 발생을 완료(Single 클래스는 1개 완료, Maybe 클래스는 0 혹은 1개 완료)할 수도 있습니다. 즉, Maybe 클래스는 Single 클래스에 onComplete 이벤트가 주가된 형태입니다.
/는 onSuccess 이벤트, x는 onError 이벤트, |는 onComplete 이벤트에 해당합니다.
- onSubscribe(d: Disposable)
Maybe가 데이터를 전달 할 준비가 되면 이 함수를 호출합니다.
Maybe와 연결을 취소할 수 있는 Disposable을 파라미터로 전달합니다. - onSuccess(t: T)
Maybe가 데이터를 전달 할 때 이 함수를 호출합니다.
데이터에 대한 처리합니다.
이 함수가 호출되면 Maybe가 완료된 것을 의미합니다. - onError(e: Throwable)
Maybe가 에러를 전달 할 때 이 함수를 호출합니다.
이 함수에서 에러를 받아서 처리하면 됩니다.
이 함수가 호출되면 Maybe가 완료된 것을 의미합니다. - onComplete()
이 함수가 호출되면 Maybe가 완료된 것을 의미합니다.
Maybe 객체는 Maybe 클래스를 이용해 생성할 수 있지만 보통 Observable의 특정 연산자
를 통해 생성할 때가 많습니다.
또한 Maybe 객체를 생성할 수 있는 리액티브 연산자에는 elementAt(), firstElement(),
flatMapMaybe(), lastElement(), reduce(), singleElement()가 있습니다.
728x90
반응형
'Domain > ReactiveX' 카테고리의 다른 글
[ReactiveX] ConnectableObservable (0) | 2021.04.29 |
---|---|
[ReactiveX] Subject (0) | 2021.04.29 |
[ReactiveX] Cold Observable Vs Hot Observable (0) | 2021.04.29 |
[ReactiveX] Single (0) | 2021.04.29 |
[ReactiveX] Observable (0) | 2021.04.29 |
댓글