Khi bạn muốn chờ đợi cho các hạng mục được phát ra từ hai quan sát (đồng bộ hóa chúng), bạn thường muốn một cái gì đó giống như Observable.zip
:
Observable<String> o1 = Observable.just("a", "b", "c");
Observable<Integer> o2 = Observable.just(1, 2, 3);
Observable<String> result = Observable.zip(o1, o2, (a, b) -> a + b);
result
sẽ là một quan sát được tạo ra việc áp dụng (a, b) -> a + b
-o1
's và Các mặt hàng của o2
. Kết quả có thể quan sát được là "a1", "b2", "c3"
.
Bạn cũng có thể sử dụng Obervable.zipWith
với một phiên bản thực tế để có cùng tác dụng.
Lưu ý rằng điều này sẽ chấm dứt trên ngắn hơn có thể quan sát được khi không có gì để nén.
Nguồn
2015-11-07 12:53:43
Yay, hoạt động như một sự quyến rũ, cảm ơn! – FWeigl
Chỉ hoạt động nếu số lượng mục vào Đài quan sát đầu tiên và thứ hai bằng nhau, nếu không bạn sẽ mất các mục phát ra !!! – Sniper
@sniper Đã thêm thông báo. Cảm ơn –