Ответ
Completable в RxJava используется для операций, где результат не важен, а важно только завершение (успешное или с ошибкой). Это полезно для side-эффектов, например, записи в БД, отправки аналитики или выполнения HTTP-запроса без возврата данных.
Пример:
fun updateLastSeen(userId: String): Completable {
return Completable.fromAction {
database.updateLastSeen(userId) // Без возвращаемого значения
}
}
// Использование
updateLastSeen("123")
.subscribe(
{ Log.d("Success", "Updated") },
{ Log.e("Error", it.message) }
)
Ключевые особенности:
- Не излучает элементов, только
onCompleteилиonError - Оптимизирован для void-операций
- Совместим с операторами RxJava (например,
andThenдля цепочек)