CreateFromTask वास्तव में केवल एक सहायक के रूप में है क्योंकि हम मुख्य रूप से कार्य आधारित दुनिया में रहते हैं :-) पूरी तरह प्रतिक्रियाशील दुनिया में आपके द्वारा उपयोग की जाने वाली सभी पुस्तकालयों ने केवल पर्यवेक्षकों का पर्दाफाश किया होगा। फिर आप पर्यवेक्षकों को समाप्त करने के लिए अंत हो सकते हैं। लेकिन यह देखते हुए कि यह मामला क्यों नहीं है, आरएक्सयूआई में कमांडरों में कार्यों को आसानी से खींचने के लिए कुछ सहायक शामिल हैं।
आप यहाँ https://github.com/reactiveui/ReactiveUI/issues/1245
तुम वहाँ भी है एक चर्चा बस इन सहायकों से छुटकारा पाने के देखेंगे देखें।
यदि आप "CreateFromTask" के लिए कोड सब यह करता है काम पर ToObservble() फोन यह एक प्रत्यक्ष और उसके बाद कोड कॉल करने के लिए कन्वर्ट करने के लिए CreateFromObservable
https://github.com/reactiveui/ReactiveUI/blob/develop/src/ReactiveUI/ReactiveCommand.cs#L418
उस प्रश्न का तो है पर देखने के मैं बस कहूंगा कि कार्य पर ToObservable को कॉल करना इसे बदलने का सबसे अच्छा तरीका है। आप इस का उपयोग करते हुए बयान
using System.Reactive.Threading.Tasks
क्या मैं सामान्य रूप से है, तो बस मेरे सभी टास्क आधारित पुस्तकालयों एक मुखौटा के साथ रैप और ToObervable का उपयोग कर उन्हें बेनकाब है शामिल करने के लिए की आवश्यकता होगी। यदि आप एक प्रतिक्रियाशील समाधान के साथ जा रहे हैं तो यह मिश्रण और मिलान के विरोध में पर्यवेक्षकों की भूमि में काम करने के लिए जीवन को आसान बना देगा।
CreateFromTask पर CreateFromObservable के पीछे तर्क यह है कि लाइब्रेरी मानती है कि आपका समाधान मुख्य रूप से प्रतिक्रियाशील है ताकि यह चीजों की अपेक्षा करने का प्राथमिक तरीका होगा। उन कमांडों को बनाने के अन्य सभी तरीके वास्तव में केवल सहायक हैं जो आखिरकार CreateFromObservable
स्रोत
2017-02-21 20:03:10
धन्यवाद बनाने के लिए रास्ता बनाते हैं। यह वास्तव में बहुत कुछ साफ़ करने में मदद करता है। –