आप सही हैं, प्रलेखन में उन तरीकों का अभाव है। हालाँकि जब मैंने rxjs रिपॉजिटरी में खोदा, तो मुझे टैप (यहां पेस्ट करने के लिए बहुत लंबा) और पाइप ऑपरेटरों के बारे में अच्छी टिप्पणियां मिलीं :
/**
* Used to stitch together functional operators into a chain.
* @method pipe
* @return {Observable} the Observable result of all of the operators having
* been called in the order they were passed in.
*
* @example
*
* import { map, filter, scan } from 'rxjs/operators';
*
* Rx.Observable.interval(1000)
* .pipe(
* filter(x => x % 2 === 0),
* map(x => x + x),
* scan((acc, x) => acc + x)
* )
* .subscribe(x => console.log(x))
*/
संक्षेप में:
पाइप : एक श्रृंखला में कार्यात्मक ऑपरेटरों को एक साथ सिलाई करने के लिए उपयोग किया जाता है। इससे पहले कि हम बस कर सकें observable.filter().map().scan()
, लेकिन चूंकि हर आरएक्सजेएस ऑपरेटर एक ऑब्जर्वेबल की विधि के बजाय एक स्टैंडअलोन फ़ंक्शन है, इसलिए हमें pipe()
उन ऑपरेटरों की एक श्रृंखला बनाने की आवश्यकता है (ऊपर उदाहरण देखें)।
टैप : अवलोकन किए गए डेटा के साथ साइड इफेक्ट्स कर सकते हैं लेकिन किसी भी तरह से स्ट्रीम को संशोधित नहीं करते हैं। पूर्व में कहा जाता है do()
। आप इसके बारे में सोच सकते हैं कि यदि समय के साथ अवलोकन योग्य था, तो tap()
इसके बराबर होगा Array.forEach()
।