Ответ
Completable — это специальный тип в RxJava, который представляет отложенную операцию без возвращаемого значения, но с возможностью уведомления об успехе или ошибке.
Особенности:
- Не излучает элементов, только событие
onCompleteилиonError. - Используется для выполнения действий, где результат не нужен (например, запись в БД, отправка логов).
Пример:
Completable.fromAction {
// Действие без результата (например, сохранение в SharedPreferences)
preferences.edit().putBoolean("key", true).apply()
}.subscribe(
{ Log.d("TAG", "Успешно") },
{ error -> Log.e("TAG", "Ошибка: $error") }
)
Где применяется:
- Операции, где важен факт завершения, а не данные.
- Комбинирование с другими RxJava-операторами (
andThen,mergeWith).