안녕하세요! 왈라비🦘 입니다!

이번에는 Maybe에 대해서 알아보도록 하겠습니다!

MaybeSingleCompletable의 중간 특성을 가지는 Trait입니다.

아래처럼 비교해보면 MaybeSingle, Completable이 가지고 있는 .success(), .completed, .error() 모든 이벤트를 가지고 있는 모습을 볼 수 있죠.

Single

Completable

Maybe

그렇다는 것은 Maybe.success() 를 통해서 요소를 방출시킬 수도 있고, .completed를 통해서 완료 됐음 여부만 전달시킬 수도 있고, .error()을 통해서 에러 처리까지 할 수 있는 것이죠!

이러한 Maybe의 특성덕에 이벤트에서 요소를 방출 시킬 수도 있지만 꼭 요소를 방출 시킬 필요가 없는 경우에 유용하게 사용될 수 있습니다.

Maybe도 여타 Trait과 생성하는 법은 비슷합니다.

오른쪽과 같이 .success(), .error(), .completed 모두 있는 것을 확인하실 수 있네요!

스크린샷 2021-11-14 오전 2.48 1.png

다만 MaybeSingle.success() 특성도 지녔다보니 제네릭 타입으로 꼭 방출할 요소의 타입을 지정해 줘야한다는 점!

사용방법