옵저버블의 변형인 Single은 RxJava(와 이로 부터 파생된 RxGroovy & RxScala)에서 생겨난 개념입니다.
Single은 옵저버블과 유사하지만, 여러 값을 방출하는 대신 항상 하나의 값을 방출하거나 오류의 알림을 전달하는 역할을 합니다. 이런 이유 때문에 Single은 값을 방출하는 onNext
, onError
, onCompleted
을 구독하는 대신 onSuccess
, onError
의 두 메서드를 구독합니다.
Single이 방출하는 단일 아이템을 전달합니다.
Single이 아이템을 방출할 수 없을 때 Throwable로 이 메소드를 전달합니다.
Single은 둘 중의 하나의 메서드를 호출하고, 딱 한 번만 호출합니다. 호출이 종료되면 Single은 사라지고 구독은 종료됩니다.
옵저버블처럼, 싱글도 다양한 연산자를 사용하여 동작을 제어할 수 있습니다. 연산자의 종류와 설명은 공식 홈페이지를 참조하시길 바랍니다.