RxJava - operatory warunkowe
Poniżej znajdują się operatory, które oceniają jeden lub wiele wyemitowanych Observables lub elementów.
Sr.No. | Operator i opis |
---|---|
1 | All Ocenia wszystkie wyemitowane elementy spełniające podane kryteria. |
2 | Amb Emituje wszystkie przedmioty z pierwszego Observable tylko z wieloma Observable. |
3 | Contains Sprawdza, czy Observable emituje określony element, czy nie. |
4 | DefaultIfEmpty Emituje element domyślny, jeśli Observable niczego nie emituje. |
5 | SequenceEqual Sprawdza, czy dwa Observables emitują tę samą sekwencję elementów. |
6 | SkipUntil Odrzuca elementy emitowane przez pierwszy Observable, dopóki drugi Observable nie wyemituje elementu. |
7 | SkipWhile Odrzuć elementy emitowane przez Observable, dopóki dany warunek nie stanie się fałszywy. |
8 | TakeUntil Odrzuca elementy emitowane przez Observable po tym, jak druga Observable emituje element lub kończy działanie. |
9 | TakeWhile Odrzuć elementy emitowane przez Observable po tym, jak określony warunek stanie się fałszywy. |
Przykład operatora warunkowego
Utwórz następujący program w języku Java, używając dowolnego wybranego edytora, na przykład w 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);
}
}
Sprawdź wynik
Skompiluj klasę przy użyciu javac kompilator w następujący sposób -
C:\RxJava>javac ObservableTester.java
Teraz uruchom ObservableTester w następujący sposób -
C:\RxJava>java ObservableTester
Powinien dać następujący wynik -
No Data
a