Zastanawiam się, czy istnieje operator cache()
, który może buforować x liczbę emisji, ale także wygasać po określonym czasie (np. 1 minuta). Szukałem czegoś podobnego ...RxJava - Czy pamięć podręczna() jest taka sama jak funkcja odtwarzania()?
Observable<ImmutableList<MyType>> cachedList = otherObservable
.cache(1, 1, TimeUnit.MINUTES);
Spowoduje to buforowanie jednego elementu, ale wygaśnie i wyczyści pamięć podręczną po minucie.
Zrobiłem trochę badań i znalazłem operatora replay. Wyglądało na to, że zaspokoi tę potrzebę, ale mam kilka pytań. Dlaczego jest gorąco i wymaga podłączenia? Czy to różni się od operatora cache()
? Wiem, że cache()
naśladuje obiekt, ale nie wymaga połączenia.
Powinieneś raczej wspomnieć 'autoconnect' jest eksperymentalna –
Jest teraz bardziej prawdopodobne, aby stać się standardem API: https: //github.com/ReactiveX/RxJava/pull/3391 – akarnokd