RxJava - Toán tử có điều kiện
Sau đây là các toán tử đánh giá một hoặc nhiều Observable hoặc các mục được phát ra.
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | All Đánh giá tất cả các mục được phát ra để đáp ứng các tiêu chí nhất định. |
2 | Amb Phát ra tất cả các mục từ Có thể quan sát đầu tiên chỉ được cung cấp nhiều Có thể quan sát. |
3 | Contains Kiểm tra xem một Observable có phát ra một mục cụ thể hay không. |
4 | DefaultIfEmpty Phát ra mục mặc định nếu Observable không phát ra bất kỳ thứ gì. |
5 | SequenceEqual Kiểm tra xem hai Bảng quan sát có phát ra cùng một chuỗi các mục không. |
6 | SkipUntil Loại bỏ các mục được phát ra bởi Có thể quan sát đầu tiên cho đến khi Có thể quan sát thứ hai tạo ra một mục. |
7 | SkipWhile Loại bỏ các mục được phát ra bởi một Observable cho đến khi một điều kiện nhất định trở thành sai. |
số 8 | TakeUntil Loại bỏ các mục do một Observable phát ra sau khi một Observable thứ hai phát ra một mục hoặc kết thúc. |
9 | TakeWhile Loại bỏ các mục được phát ra bởi một Observable sau khi một điều kiện được chỉ định trở thành sai. |
Ví dụ về toán tử có điều kiện
Tạo chương trình Java sau bằng bất kỳ trình soạn thảo nào bạn chọn trong 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);
}
}
Xác minh kết quả
Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -
C:\RxJava>javac ObservableTester.java
Bây giờ hãy chạy ObservableTester như sau:
C:\RxJava>java ObservableTester
Nó sẽ tạo ra kết quả sau:
No Data
a