Rx Single, Maybe, Completable -5-

cloud0·2021년 9월 15일
0
post-thumbnail

Single


Single은 Observable의 변형된 형태이다. Observable과 비슷하지만, 여러 개의 데이터를 발행할 수 있는 Observable과 달리 Single은 한 개의 데이터(혹은 에러)만을 발행하고 Single이 종료되고 이에 대한 구독이 종료 됩니다.

  • onSuccess 데이터 하나를 발행함과 동시에 종료
  • onError 에러가 발생했음을 알림

Marble Diagram을 보면 Single은 데이터 하나를 발행함과 동시에 종료한다. 데이터 발행(onNext)과 완료(onCompleted)를 각각 알렸던 Observable과 달리 Single은 데이터 발행의 완료를 따로 알리지 않는다는 것이 특징이다.

따라서 Single은 결과를 단일값으로 가져오는 네트워크 통신 등에 유용하게 사용할 수 있다.

Maybe


Maybe은 Single과 유사하게 단발성 이벤트를 상징하는 데이터 스트림입니다. Maybe도 Observable의 또 다른 형태이다. Maybe는 최대 데이터 하나를 발행할 수 있으며 추가로 데이터 없이도 완료할 수도 있다. Single에 onComplete가 추가된 형태로, 총 3가지 알림을 보낸다.

  • onSuccess 데이터 하나를 발행함과 동시에 종료
  • onError 에러가 발생했음을 알림
  • onComplete 데이터 발행이 완료됐음을 알림

Completable


Completable은 Single과 유사하게 단발성 이벤트를 상징하는 데이터 스트림입니다.
Completable은 데이터를 발행하는 Observable, Single, Maybe와 달리 데이터 발행의 완료에러 신호만 보내는 특수한 형태이다. 따라서 데이터 발행의 완료를 알리는 onComplete와 에러 발생을 알리는 onError 2가지 알림을 보낸다.

profile
이...사...중......

0개의 댓글