Tôi vừa mới bắt đầu sử dụng rxjava và tôi bị kẹt. Có lẽ tôi không sử dụng rxjava đúng cách, nhưng tôi cần phải thêm các mục vào một Observable
sau khi nó được tạo ra. Vì vậy, tôi hiểu rằng bạn chỉ có thể gọi số Observable.just("Some", "Items")
và người đăng ký sẽ nhận được chúng, nhưng nếu tôi có tác vụ không đồng bộ và tôi cần phải thêm một số mục khác vào lúc sau khi tác vụ hoàn tất? Tôi không thể tìm thấy bất cứ điều gì như Observable.addItems("Some", "More", "Items")
rxjava thêm các mục sau khi có thể quan sát được tạo
12
A
Trả lời
21
gì bạn có thể cần Chủ đề là-http://reactivex.io/documentation/subject.html
Nó là một đối tượng mà là cả Observer và Quan sát, vì vậy bạn có thể đăng ký với nó và phát ra mới mặt hàng. Ví dụ:
PublishSubject<String> subject = PublishSubject.create();
subject.subscribe(System.out::println);
subject.onNext("Item1");
subject.onNext("Item2");
0
Điều hữu ích cần lưu ý là PublishSubject
không lưu vào bộ nhớ cache. Ví dụ nếu mã trên là như sau, Item1
sẽ không được in vì chủ đề chưa được đăng ký. PublishSubject<String> subject = PublishSubject.create(); subject.onNext("Item1"); subject.subscribe(System.out::println); subject.onNext("Item2");
Sử dụng ReplaySubject
để lưu vào bộ nhớ cache. Sẽ hữu ích khi đọc this
Các vấn đề liên quan
- 1. Thêm các phần tử sau khi tạo rx Có thể quan sát
- 2. Thêm một chuỗi quan sát được sau khi đăng ký
- 3. Knockout.JS Thay đổi mảng quan sát đối với các mục có thể quan sát riêng lẻ
- 4. Không thể đăng ký trên RxJava 2 Có thể quan sát được với TestSubscriber
- 5. RxJava, thực thi mã trong chuỗi quan sát trước khi chuỗi hai quan sát
- 6. Chain hai retrofit quan sát w/RxJava
- 7. Sử dụng RxJava để xác thực đăng nhập email, có thể quan sát được hai lần
- 8. Làm cách nào để làm mới có thể quan sát được trong RxJava?
- 9. RXJava - chạy nhiều quan sát cái khác (như concat, nhưng với onCompleted cho mỗi thể quan sát được)
- 10. Làm cách nào để hiển thị spinner nếu RxJava có thể quan sát được lâu?
- 11. angular2 - Navigate sau khi quan sát được hoàn tất
- 12. RxJava- thực hiện hoạt động peek() hoặc vô hiệu trong một chuỗi có thể quan sát?
- 13. RxJava chia sẻ lượng phát thải có thể quan sát giữa nhiều người đăng ký
- 14. Xử lý đúng quan sát trống trong RxJava
- 15. RxJava tham gia suối thể quan sát được bằng cách kết hợp giá trị thuộc tính
- 16. XMLHttpRequest có thể quan sát được trong các loại
- 17. CoffeeScript, Knockout & thể quan sát được
- 18. rxjava hợp nhất quan sát khác nhau loại
- 19. Có thể quan sát-invisibleRect
- 20. Có thể thêm người quan sát vào tableView.contentOffset không?
- 21. Cập nhật Knockout.js Có thể quan sát được từ JSON
- 22. Tạo danh sách/bộ sưu tập có thể quan sát
- 23. Chuyển đổi lời hứa thành có thể quan sát được
- 24. làm cho các trường quan sát được sau khi truy xuất ajax trong knockout.js
- 25. KnockoutJS - Dải quan sát của các đối tượng quan sát
- 26. Người quan sát thuộc tính có thể được thêm sau tuyên bố ban đầu không? Ví dụ:
- 27. Thêm một tính toán có thể quan sát được qua nguyên mẫu vào hàm hàm dựng
- 28. Quan sát/Quan sát Android
- 29. Cho một thứ RxJava quan sát được để phát ra từ phương pháp khác
- 30. RxJava Quan sát nhận được thông báo về khí thải đầu tiên
Chính xác những gì tôi đang tìm kiếm ... Tôi bỏ qua lớp này vì lý do nào đó khi tôi đọc tài liệu. Cảm ơn bạn! – Jelly
Nếu điều này không hiệu quả với những người ở kotlin bạn cần làm: 'val subject: PublishSubject = PublishSubject.create ()' –
nmu