let
ऑपरेटर का उदाहरण और स्पष्टीकरण (https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/let.md) स्पष्ट नहीं है। किसी के पास एक अच्छा उदाहरण/स्पष्टीकरण है कि let
ऑपरेटर कैसे काम करता है, और जब हमें इसका उपयोग करना चाहिए?Rx.Observable.prototype.let ऑपरेटर का उपयोग कैसे करें?
उत्तर
&tldr;
यह तर्क compartmentalize और एक पाइप लाइन को इसकी सुई करने में सक्षम होने के लिए एक सुविधा कार्य है।
अधिक व्याख्या की
source शायद सबसे निश्चित व्याख्या है। यह वास्तव में सिर्फ एक समारोह गुजर रहा है जिसे स्रोत Observable
के साथ बुलाया जाता है।
Rx.Observable.prototype.let = function(fn) {
return fn(this);
}
इस की उपयोगिता है कि हम बना सकते हैं या एक पाइप लाइन है कि आप एक से अधिक स्रोतों के लिए पुन: उपयोग करना चाहते हैं पूर्व परिभाषित है। आरएक्स, प्रतिक्रियाशील खोज पट्टी के लिए एक आम खीस्तयाग पर विचार करें:
// Listen to a key up event on the search bar
// and emit the value of the search
Rx.Observable.fromEvent(searchBar, 'keyup', e => e.target.value)
// Don't search too eagerly
.filter(text => text.length > 3)
.debounceTime(500)
//Search logic
.flatMap(text => $.getJSON(`my/search/api?q=${text}`))
.flatMap({results} => results)
//Handler
.subscribe(appendToList);
ऊपर कैसे एक पाइप लाइन बनाया जा सकता है की संरचना की एक बुनियादी समझ देना चाहिए। अगर हम कोड को साफ करने या इसे कहीं और इस्तेमाल करने में सक्षम होने के लिए इस तर्क में से कुछ को कोशिश करना और अमूर्त करना चाहते हैं तो यह थोड़ा मुश्किल हो सकता है, क्योंकि इसका आमतौर पर एक नया ऑपरेटर बनाना होता है (और इसका अपना सिरदर्द होता है)।
समाधान सामान्य तर्क को एक फ़ंक्शन में खींचने का अपेक्षाकृत सरल दृष्टिकोण है जिसे स्रोत Observable
पारित किया जा सकता है और उस तर्क के साथ एक नया Observable
वापस कर देगा।
तो ऊपर हो सकता है:
//Defined in pipelines.js
function filterBuilder(minText, debounceTime) {
return (source) =>
source.filter(text => text.length > minText)
.debounce(debounceTime);
}
function queryBuilder(baseUrl) {
return (source) =>
source.flatMap(text => $.getJSON(`${baseUrl}?q=${text}`))
.flatMap({results} => results);
}
//In your application code
Rx.Observable.fromEvent(searchBar, 'keyup', e => e.target.value)
.let(filterBuilder(3, 500))
.let(queryBuilder('my/search/api'))
.subscribe(appendResults);
- 1. जेस्लिंट '||' का उपयोग करें ऑपरेटर सशर्त ऑपरेटर
- 2. "^" ऑपरेटर का उपयोग कब करें
- 3. अतिभारित असाइनमेंट ऑपरेटर का उपयोग कब करें?
- 4. फ्रीमार्कर में टर्नरी ऑपरेटर का उपयोग करें?
- 5. तारीख के साथ ऑपरेटर से अधिक का उपयोग कैसे करें?
- 6. जेडीबीसी में ऑपरेटर की तरह MySQL का उपयोग कैसे करें?
- 7. जेपीए मानदंडबिल्डर - "IN" तुलना ऑपरेटर का उपयोग कैसे करें
- 8. जेडीबीआई के साथ ऑपरेटर का उपयोग कैसे करें?
- 9. $ ne ऑपरेटर का उपयोग कर mongodb से पूछताछ कैसे करें?
- 10. मैं सशर्त ऑपरेटर का उपयोग कैसे करूं?
- 11. सशर्त ऑपरेटर का वैध उपयोग?
- 12. कैसे करें: ~ ऑपरेटर?
- 13. क्यों दशमलव का उपयोग करें। बहुमुखी बनाम ऑपरेटर गुणा करें?
- 14. PowerShell का उपयोग करके ऑपरेटर का उपयोग करके MSBuild को कैसे शुरू करें?
- 15. || का प्रयोग करें ऑपरेटर नोटिस
- 16. टर्नरी ऑपरेटर का उपयोग करके असाइन करना?
- 17. सशर्त ऑपरेटर उपयोग
- 18. सी ++ ऑपरेटर के बजाय) ऑपरेटर पूर्णांक (का उपयोग कर +
- 19. [] ऑपरेटर को ओवरराइड कैसे करें?
- 20. दो '!' का उपयोग क्यों करें एक बुलियन मूल्य पर ऑपरेटर?
- 21. हाइलाइट करें जब समानता ऑपरेटर (==) का उपयोग ग्रहण
- 22. वेब डेवलपमेंट के दौरान बिटवाइस ऑपरेटर का उपयोग कब करें?
- 23. कक्षा.इस इंस्टेंस() और उदाहरण के ऑपरेटर का उपयोग कब करें?
- 24. PHP में स्ट्रिंग्स पर वृद्धि ऑपरेटर का उपयोग कब करें?
- 25. कैसे ऑपरेटर
- 26. XOR का उपयोग कर गणितीय ऑपरेटर
- 27. रेजर दृश्यों में "nameof" ऑपरेटर का उपयोग
- 28. stdext :: hash_map का उपयोग कैसे करें?
- 29. का उपयोग ऑपरेटर [] खाली एसटीडी पर :: वेक्टर
- 30. कैसे वेतन वृद्धि ऑपरेटर का उपयोग करने के प्रतिक्रिया
ऐसा लगता है let' तरह '' को select' है के रूप में '' switchMap' map' है। फिर भी, 'select'' map' है, तो 'switchMap' से अलग 'let' कैसे है? –
@ जॉन क्रिस्टोफर जोन्स वास्तव में नहीं। एक के लिए, 'चयन करें' और 'नक्शा' एक ही कार्य हैं जो एक दूसरे के उपनाम हैं। 'चलो' कुछ अमूर्त 'स्रोत' के आधार पर आपको पाइपलाइन को परिभाषित करने की अनुमति देकर, स्पष्ट रूप से चिंताओं को अलग करने के बारे में है और फिर इसे ठोस स्रोत में प्लग करें। – paulpdaniels
धन्यवाद। मैं [github.com/ngrx/example-app] में चयनकर्ता पैटर्न के उदाहरणों में उपयोग किए गए 'चयन' और 'let' दोनों को देख रहा हूं और इसके चारों ओर अपने सिर को लपेट नहीं रहा हूं। इसलिए, jQuery शब्दों में, 'let' सचमुच विधि का आह्वान करने का तरीका है, जिससे आप विधि श्रृंखलाओं के अनुभागों को पैरामीटर कर सकते हैं। या, इसे 'स्विचमैप' से तुलना करने के लिए, आपके द्वारा पारित किए गए फ़ंक्शंस दोनों को अवलोकन करने चाहिए, लेकिन 'स्विचमैप' स्ट्रीम सदस्यों को प्राप्त करता है और 'चलो' स्ट्रीम को स्वयं प्राप्त करता है। –