RxJava - Условные операторы
Ниже приведены операторы, которые оценивают один или несколько объектов Observable или объектов.
Sr.No. | Оператор и описание |
---|---|
1 |
All Оценивает все выпущенные элементы на соответствие заданным критериям. |
2 |
Amb Испускает все элементы из первого Observable только при наличии нескольких Observable. |
3 |
Contains Проверяет, испускает ли Observable конкретный элемент или нет. |
4 |
DefaultIfEmpty Выдает элемент по умолчанию, если Observable ничего не испускает. |
5 |
SequenceEqual Проверяет, испускают ли два Observable одну и ту же последовательность элементов. |
6 |
SkipUntil Отбрасывает элементы, выпущенные первым Observable, пока второй Observable не излучает элемент. |
7 |
SkipWhile Отбрасывать элементы, испускаемые Observable, пока данное условие не станет ложным. |
8 |
TakeUntil Отбрасывает элементы, выпущенные Observable после того, как второй Observable излучает элемент или завершается. |
9 |
TakeWhile Отбрасывать элементы, отправленные Observable после того, как указанное условие становится ложным. |
Пример условного оператора
Создайте следующую программу Java, используя любой редактор по вашему выбору, например, C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable;
//Using defaultIfEmpty operator to operate on an Observable
public class ObservableTester {
public static void main(String[] args) {
final StringBuilder result = new StringBuilder();
Observable.empty()
.defaultIfEmpty("No Data")
.subscribe(s -> result.append(s));
System.out.println(result);
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result1 = new StringBuilder();
Observable.fromArray(letters)
.firstElement()
.defaultIfEmpty("No data")
.subscribe(s -> result1.append(s));
System.out.println(result1);
}
}
Проверить результат
Скомпилируйте класс, используя javac компилятор следующим образом -
C:\RxJava>javac ObservableTester.java
Теперь запустите ObservableTester следующим образом -
C:\RxJava>java ObservableTester
Он должен выдать следующий результат -
No Data
a