Мне было интересно, существует ли оператор cache()
, который может кэшировать х количество выбросов, но также и истекает через указанный промежуток времени (например, 1 минута). Я искал что-то вроде...
Observable<ImmutableList<MyType>> cachedList = otherObservable
.cache(1, 1, TimeUnit.MINUTES);
Это будет кэшировать один элемент, но истечет и очистит кеш через минуту.
Я провел некоторое исследование и нашел оператор replay. Казалось, что это выполнит эту потребность, но у меня есть некоторые вопросы. Почему он горячий и нуждается в подключении? Означает ли это, что это отличается от оператора cache()
? Я знаю, что cache()
имитирует тему, но она не требует подключения.