
इस पोस्ट में हम RxJS 6.5.0 के नवीनतम संस्करण की नई विशेषताओं और सुधारों के बारे में बात करेंगे।
नए नए बयान से
RxJS अब देशी भ्रूण एपीआई के लिए देशी समर्थन प्रदान करता है, जिसमें AbortController का उपयोग करके अनुरोधों को बाधित करने की क्षमता भी शामिल है।
import { of } from 'rxjs'; import { switchMap, catchError } from 'rxjs/operators'; import { fromFetch } from 'rxjs/fetch'; const users$ = fromFetch('https://reqres.in/api/users').pipe( switchMap(response => { if (response.ok) { return response.json(); } else { return of({ error: true, message: `Error ${response.status}` }); } }), catchError((error) => of({ error: true, message: error.message })) ); users$.subscribe({ next(data) { ... }, complete() { ... } });
वर्धित forkJoin स्टेटमेंट
मुझे यह सबसे ज्यादा पसंद आया। ForkJoin स्टेटमेंट अब एक सोर्स डिक्शनरी को स्वीकार करता है:
import { forkJoin, timer } from 'rxjs'; import { take, mapTo } from 'rxjs/operators'; const source = forkJoin({ todos: timer(500).pipe(mapTo([{ title: 'RxJS'}])), user: timer(500).pipe(mapTo({ id: 1 })) }); source.subscribe({ next({ todos, user }) { } });
इसके अलावा, इस ऑपरेटर का उपयोग forkJoin(a, b, c, d)
जाता है, इसके बजाय, forkJoin([a, b, c, d])
लिखा जाना चाहिए।
विभाजन अवलोकनीय
मौजूदा partition
विवरण अब पदावनत हो गया है, और एक नया सामान्य अवलोकन partition
विवरण partition
।
विभाजन स्रोत वस्तु को दो प्रकार की वेधशाला में विभाजित करता है, एक मान के लिए जो दिए गए विधेय को संतुष्ट करता है, और दूसरा उन मूल्यों के लिए जो नहीं करते हैं।
import { fromEvent, partition } from 'rxjs'; const clicks$ = fromEvent(document, 'click'); const [clicksOnH1$, clicksElsewhere$] = partition(clicks$, event => event.target.tagName === 'H1'); clicksOnH1$.subscribe({ next() { console.log('clicked on h1') } }); clicksElsewhere$ .subscribe({ next() { console.log('Other clicked') } });
संयुक्त स्थिति को हटाए गए स्थिति में स्थानांतरित कर दिया गया
नया संस्करण अब combineLatest([a, b, c])
के अपवाद के साथ combineLatest
हस्ताक्षरों का उपयोग नहीं करता है। इस परिवर्तन के कारणों को यहां पढ़ें।
योजनाकारों
मौजूदा अवलोकन के लिए अनुसूचक को कॉन्फ़िगर करने के लिए scheduled
कथन का उपयोग करें। नियोजित (वे जो अनुसूचक को एक पैरामीटर के रूप में लेते हैं), range
और अन्य कथनों के संस्करणों को पदावनत किया जाता है।
import { of, scheduled, asapScheduler } from 'rxjs'; console.log(1);