Ответ
Observable — базовый тип, испускающий 0 или более элементов, завершается успешно или с ошибкой.
Single — испускает ровно 1 элемент или ошибку (для операций с результатом, например, сетевой запрос).
Maybe — может испускать 0 или 1 элемент, либо завершиться с ошибкой (например, кешированный результат).
Flowable — аналог Observable с поддержкой backpressure (для обработки больших потоков данных).
Completable — не испускает элементы, только сигнал об успешном завершении или ошибке (для операций без результата).
Пример с Single:
Single.fromCallable {
apiService.fetchData()
}
.subscribe({ data ->
handleSuccess(data)
}, { error ->
handleError(error)
})