Observable – представляет собой стрим объектов. Подписчики на Observable имеют коллбэки
onNext(value),
onComplete(),
onError(throwable).
onNext() может не вызываться, или вызываться произвольное количество раз.
При завершении стрима вызывается
onComplete() или
onError().
Single – отправляет объект, который принимается в коллбэке
onSuccess(value), или бросает исключение в коллбэк
onError(throwable) в случае ошибки.
Completable – не возвращает никакого значения. На подписчиках вызывается
onComplete() при удачном завершении или
onError(throwable) в случае ошибки.
Maybe – может отработать как
Single или как
Completable. На подписчиках вызывается один из трех коллбэков:
onSuccess(value),
onComplete() без какого-либо значения, или
onError(throwable). Каждый из коллбэков может быть вызван один раз или не вызван вообще.
Flowable – работает как
Observable, но поддерживает
backpressure по умолчанию.