Trang Chủ

Các operator thông dụng sử dụng trong RxJava

Như tìm hiểu ở phần 1 về Rx ở bài này mình sẽ tập trung vào các operator sử dụng trong Rx java

— Creating Observables

1.just()

Như tên gọi của hàm, toán tử chỉ phát ra các giá trị tương tự được cung cấp trong các đối số. 
VD : Observable.just(1, 2, 3, 4, 5)

Ở đây,observable với toán tử just của chúng ta đã được áp dụng. Vì vậy, observable sẽ phát ra từ 1 đến 5 số nguyên.

— Filtering Operators:

Như tên gợi ý toán tử bộ lọc, lọc các mục được phát ra bởi một Observable. Sử dụng filter() chúng ta có thể quyết định phát ra đối tượng hay không dựa trên một số điều kiện.

2. skip():
skip(n) sẽ loại bỏ n mục đầu tiên được phát ra bởi một Observable và phát ra dữ liệu sau n phần tử. Vì vậy, skip (2) sẽ bỏ qua phát 2 phần tử đầu tiên và bắt đầu từ phát ra phần tử thứ 3.

Vì vậy, ví dụ của chúng tôi, nếu chúng tôi áp dụng toán tử skip (2), nó sẽ chỉ phát ra 3, 4 và 5 số nguyên.

3. take(): take() là trái ngược với toán tử skip (). take (n) sẽ chỉ phát ra n phần tử dữ liệu đầu tiên và bỏ qua tất cả các phần tử dữ liệu sau n phần tử được phát ra. 

— Combining Operators:

1. merge():
Toán tử merge() kết hợp nhiều Observable thành một bằng cách hợp nhất các phần tử được phát ra bởi các Observable.Toán tử merge() có thể xen kẽ các kết quả đầu ra vì nó phát ra dữ liệu từ cả hai Observable được đồng thời ngay khi dữ liệu có sẵn để phát.

2. zip():
zip() kết hợp phát xạ của nhiều operator với nhau thông qua một chức năng được chỉ định và phát ra các mục đơn lẻ cho mỗi tổ hợp dựa trên kết quả của chức năng này.

Đây là ví dụ mà bạn có thể kết hợp các chuỗi và luồng dữ liệu số nguyên thành một ZipObject (lớp tùy chỉnh) và phát ra chúng dưới dạng luồng dữ liệu cuối cùng.

— Mathematical and Aggregate Operators

1. concat(): Toán tử Concat nối kết quả đầu ra của nhiều Observable để chúng hoạt động giống như một Observable duy nhất.

Giả sử bạn có hai observable. Observable1 lần lượt phát ra từ số nguyên từ 1 đến 5 và một Observable2 phát ra số nguyên từ 6 đến 10. Nếu chúng ta kết hợp chúng, Observable1 sẽ phát ra từ 1 đến 5 và Observable2 sẽ phát ra dữ liệu từ 6 đến 10 đồng thời. Toán tử concat () sẽ hợp nhất cả luồng dữ liệu và phát ra dữ liệu từ Observable1 và sau đó sẽ phát ra dữ liệu từ Observable2. Dưới đây là sơ đồ giải thích .

 Tài liệu tham khảo

Chia sẻ bài viết ngay