最後に発行されたアイテムをキャッシュし、それを新しい加入者に渡す演算子がありますか?言い換えれば、observableをbehaviorSubjectのように動作させる演算子は?最後に発行されたアイテムをキャッシュするRxJavaオペレータ
3
A
答えて
5
はい。 ReplayingShareというサードパーティ製のライブラリにあります。 https://github.com/JakeWharton/RxReplayingShare
.replay(1).autoConnect()
と比較しています。下流にサブスクライバが存在しない場合は、アップストリームから切断できます。
.replay(1).refcount()
と比較して、すでに切断している場合でも最後の値をキャッシュすることができます。
また、アップストリームが終了した場合(refcount
/autoConnect
を使用している場合)、次のサブスクライバの再生はできません。しかし、ReplayingShareでは、常に最後のアイテムキャッシュが取得されます。
0
はい、あなたはdocsから、1のPARAMとreplay(bufferSize)
演算子を使用することができます。
を最もbufferSizeの項目でリプレイがその観察可能
によって放出されることを観察可能なソースへの単一のサブスクリプションを共有することConnectableObservableを返します。
リプレイは最後の項目をキャッシュして、任意の新しい加入者にそれを再生します、それはあなたがそれがアイテムを発する開始するためにconnect()
を呼び出し、またはを取得するためにrefCount()
を使用しなければならないConnectableObservable
だということに注意してくださいは最初にSubscriber
で自動的に実行され、最後のサブスクリプションがサブスクライブされていないときにはサブスクライブされません。
関連する問題
- 1. 最後に発行されたものと異なる場合に発行されるRxJava演算子
- 2. 最後に発行されたアイテムを各サブスクライバに「再生」する方法は?
- 3. takeUntilは、Retrofit、RxJava、Gsonで最適化されたキャッシュとネットワークメソッド
- 4. 最後にObservable(Sequence)にプッシュされたアイテムを取る
- 5. オペレータの実行後にエアフローが発生する
- 6. ZipオペレータでRxJavaの問題
- 7. モデルは、Rails 3.2にアップグレードした後で開発中に実行されてもキャッシュされたままです
- 8. 最後に追加したアイテムの最後の10個のアイテム
- 9. イベントが発生するたびにRxJavaがサブスクリプションメソッドで実行されます
- 10. SQL最後に更新された行
- 11. RxJavaでエラーが発生した後にアイテムをストリーミングする方法はありますか?
- 12. GroovyスクリプトがSlingによって実行された後にキャッシュされる
- 13. 最後に発行される方法Observable
- 14. 観測値から最後に放出された値をキャッシュする
- 15. DataTables:行を追加した後のキャッシュされた値
- 16. 最後に作成されたアイテムの選択
- 17. 最後にロードされたアイテム(ajax loadmore)のアニメーションのみ
- 18. HTML5アプリケーションキャッシュ(Chrome)でキャッシュされたアイテムを更新する
- 19. IndexedDb - ObjectStoreから最後に追加されたアイテムをフェッチする
- 20. RxJava 2リトライ区別される他のアイテムを進行しながら
- 21. オペレータを最後にAngular/Rxjsアプリにインポートする
- 22. 最後に挿入された行のIDを取得する
- 23. RxJava BehaviorSubjectが最後のアイテムを放出していませんか?
- 24. RxJavaオペレータのしくみの理解
- 25. Retrofit 2とRxJavaのエラー処理オペレータ
- 26. RxJavaオペレータDebounceが機能しない
- 27. RxJava/RxScalaでobservableをキャッシュする方法
- 28. .NETでCacheItemPolicy経由でキャッシュされたアイテムを期限切れにするMemoryCache
- 29. 「キャッシュされたアイテムがロックされました」HibernateでSelectステートメントが発生しました
- 30. PHPで複数のインターバル - 最後に返されたアイテムを返す