किसी को भी स्पष्ट उदाहरण के साथ RxJava में अवलोकन, पूर्ण और एकल के बीच अंतर बता सकते हैं?
किस परिदृश्य में हम दूसरों पर एक का उपयोग करते हैं?
किसी को भी स्पष्ट उदाहरण के साथ RxJava में अवलोकन, पूर्ण और एकल के बीच अंतर बता सकते हैं?
किस परिदृश्य में हम दूसरों पर एक का उपयोग करते हैं?
जवाबों:
Observable
समय के साथ मूल्यों का उत्सर्जन करने वाले घटना स्रोत का सामान्य रिएक्टिवएक्स बिल्डिंग ब्लॉक है। (और इस प्रकार हर भाषा में मौजूद है ReactiveX का विस्तार)
छोटी अवलोकन योग्य घटनाओं में निम्न हैं:
onNext * (.Completed | onError)? / (* शून्य या अधिक? - शून्य या 1)
Single
और Completable
RxJava में विशेष रूप से पेश किए गए नए प्रकार हैं जो कम प्रकार का प्रतिनिधित्व करते हैं Observable
, जिनमें अधिक संक्षिप्त एपीआई है।
Single
प्रतिनिधित्व करते हैं Observable
कि एकल मूल्य या त्रुटि का उत्सर्जन करें।
Completable
प्रतिनिधित्व करते हैं Observable
, कि उत्सर्जन करता है कोई मूल्य नहीं है, लेकिन केवल टर्मिनल घटनाओं या तो onError
याonCompleted
आप उन तरीकों के बारे में सोच सकते हैं जो एक विधि के अंतर की तरह हैं जो वापस आती है:
वस्तुओं का संग्रह - अवलोकनीय
एकल वस्तु - एकल
और विधि जो कोई मान नहीं देती है (शून्य विधि) - पूर्णता।
Single
उपयुक्त हो सकता है जब आपके पास कार्य उन्मुख हो और आप एकल मूल्य की उम्मीद करते हैं, जैसे नेटवर्क अनुरोध जो एक बार किया जाता है और मूल्य (या त्रुटि) वापस किया जाता है, तो नेटवर्क कॉल एक समय के फैशन में संचालित होता है, जिसका अर्थ है कि आप अतिरिक्त मानों की वापसी की उम्मीद नहीं करते हैं अधिक समय तक। एक अन्य उदाहरण DB लाने डेटा ऑपरेशन है।
Completable
जब आपके पास उचित हो Observable
और आप ऑपरेशन से उत्पन्न मूल्य के बारे में परवाह नहीं करते हैं, या कोई भी नहीं है। उदाहरण के लिए उदाहरण कैशे को अपडेट कर रहे हैं, ऑपरेशन सफल / विफल हो सकता है, लेकिन इसका कोई मूल्य नहीं है।
एक अन्य उदाहरण कुछ लंबे समय तक चलने वाला इनिट ऑपरेशन है जो कुछ भी वापस नहीं करता है। यह UPDATE / PUT नेटवर्क कॉल हो सकता है जो केवल सफलता संकेत के साथ हुआ।
किसी भी स्थिति में, कंप्लीटेबल और सिंगल नई क्षमताओं को नहीं जोड़ रहे हैं, लेकिन वे अधिक मजबूत और संक्षिप्त एपीआई पेश कर रहे हैं, जो ऑब्जर्वेबल के पीछे के संचालन के बारे में अधिक बताता है कि एपीआई ने उजागर किया।
संपादित करें:
Maybe
:RxJava2 ने एक नया प्रकार जोड़ा Maybe
, जिसे और सिंगल Maybe
का संयोजन कहा जाता है Completable
।
ऊपर की समान भाषा में, Maybe
एक विधि के रूप में सोचा जा सकता है Optional
जो किसी प्रकार का रिटर्न देता
है, Optional
ऑब्जेक्ट के चारों ओर एक आवरण होता है जो स्पष्ट रूप से बताता है कि क्या हमारे पास इसमें कुछ मूल्य है - Object
या नहीं (शून्य के बजाय)।
हमारे साथ Maybe
या तो कुछ मूल्य हो सकते हैं या जैसे कुछ Single
भी नहीं है - जैसे Completable
। इसके अतिरिक्त, दोनों की तरह, हमारे पास त्रुटि है।
Maybe
मूल्यवान है जब हम यह चिन्हित करना चाहते हैं कि Observable
मूल्य नहीं हो सकता है और बस पूरा हो जाएगा।
एक उदाहरण कैश से प्राप्त किया जाएगा, कैश में हमारे पास कोई मूल्य नहीं होगा, इसलिए इस मामले में, हम पूरा करेंगे, ओउ हम onNext
कैश से मूल्य के साथ प्राप्त करेंगे ।
यह RxJava2 के साथ एक धारा में गैर-शून्य मानों को संभालने के लिए भी योग्य है।
Flowable
:सबसे पहले, चलो बैकप्रेस को परिभाषित करते हैं। Backpressure उस स्थिति से निपटने का एक साधन है जहाँ डेटा को संसाधित किए जाने की तुलना में तेज़ी से उत्पन्न किया जाता है। Flowable
आइटम का अनुरोध करने के लिए डाउनस्ट्रीम को अनुमति देने के लिए बैकप्रेस की सहायता है आप यहां अंतर के बारे में अधिक पढ़ सकते हैं ।
Maybe<T>
, अनिवार्य रूप से Single<T?>
,?
Single
एक होने के लिए Completable
दिए गए मान के साथ?
एक संक्षिप्त जवाब मुझे यहां आरएक्सजाव अनुभाग पर मिला ।