मैं सोच रहा था कि cache()
ऑपरेटर था जो उत्सर्जन के x संख्या को कैश कर सकता था लेकिन निर्दिष्ट समय अंतराल (उदा। 1 मिनट) के बाद भी उन्हें समाप्त कर सकता था। मैं कुछ तरह के लिए देख रहा था ...RxJava- कैश() replay() के समान है?
Observable<ImmutableList<MyType>> cachedList = otherObservable
.cache(1, 1, TimeUnit.MINUTES);
यह एक आइटम कैश होगा, लेकिन समय सीमा समाप्त हो और एक मिनट के बाद कैश को साफ़ होगा।
मैंने कुछ शोध किया और replay ऑपरेटर पाया। ऐसा लगता है कि यह इस ज़रूरत को पूरा करेगा लेकिन मेरे कुछ प्रश्न हैं। यह गर्म क्यों है और कनेक्ट होने की जरूरत है? क्या यह cache()
ऑपरेटर से अलग है? मुझे पता है कि cache()
किसी विषय की नकल करता है, लेकिन इसे कनेक्ट होने की आवश्यकता नहीं है।
आप शायद उल्लेख करना चाहिए 'autoconnect' प्रयोगात्मक –
है अब यह मानक एपीआई बनते देर नहीं लगती है: https: //github.com/ReactiveX/RxJava/pull/3391 – akarnokd