Rxjs v 6. *
यह आरएक्सजे के नए संस्करण के साथ सरल हो गया।
1) संचालक
import {map} from 'rxjs/operators';
२) अन्य
import {Observable,of, from } from 'rxjs';
चाइनिंग के बजाय हमें पाइप करने की आवश्यकता है। उदाहरण के लिए
पुराना सिंटैक्स:
source.map().switchMap().subscribe()
नया सिंटैक्स:
source.pipe(map(), switchMap()).subscribe()
नोट: कुछ ऑपरेटरों का नाम आरक्षित शब्दों के साथ टकराव के कारण नाम परिवर्तन है! इसमें शामिल है:
do-> tap,
catch -> catchError
switch -> switchAll
finally -> finalize
Rxjs v 5. *
मैं खुद को मदद करने के लिए आंशिक रूप से यह उत्तर लिख रहा हूं क्योंकि मैं हर बार डॉक्स की जांच करता रहता हूं कि मुझे एक ऑपरेटर को आयात करने की आवश्यकता है। मुझे बताएं कि क्या कुछ बेहतर तरीके से किया जा सकता है।
1) import { Rx } from 'rxjs/Rx';
इससे पूरा पुस्तकालय आयात होता है। फिर आपको प्रत्येक ऑपरेटर को लोड करने के बारे में चिंता करने की आवश्यकता नहीं है। लेकिन आपको आरएक्स को जोड़ना होगा। मुझे उम्मीद है कि ट्री-शेकिंग केवल आवश्यक फ़ंक्शंस को ऑप्टिमाइज़ और पिक करेगा (सत्यापित करने की आवश्यकता है) जैसा कि टिप्पणियों में बताया गया है, ट्री- शेकिंग मदद नहीं कर सकता है। तो यह अनुकूलित तरीका नहीं है।
public cache = new Rx.BehaviorSubject('');
या आप अलग-अलग ऑपरेटरों को आयात कर सकते हैं ।
यह आपके एप्लिकेशन को केवल उन फ़ाइलों का उपयोग करने का अनुकूलन करेगा :
2) import { _______ } from 'rxjs/_________';
यह सिंटैक्स आमतौर पर मुख्य वस्तु जैसे Rxस्वयं या Observableआदि के लिए उपयोग किया जाता है ।
वे कीवर्ड जिन्हें इस सिंटैक्स के साथ आयात किया जा सकता है
Observable, Observer, BehaviorSubject, Subject, ReplaySubject
3) import 'rxjs/add/observable/__________';
5 कोणीय के लिए अद्यतन
Angular 5 के साथ, जो rxjs 5.5.2+ का उपयोग करता है
import { empty } from 'rxjs/observable/empty';
import { concat} from 'rxjs/observable/concat';
ये आमतौर पर सीधे अवलोकन के साथ होते हैं। उदाहरण के लिए
Observable.from()
Observable.of()
ऐसे अन्य कीवर्ड जिन्हें इस सिंटैक्स का उपयोग करके आयात किया जा सकता है:
concat, defer, empty, forkJoin, from, fromPromise, if, interval, merge, of,
range, throw, timer, using, zip
4) import 'rxjs/add/operator/_________';
5 कोणीय के लिए अद्यतन
Angular 5 के साथ, जो rxjs 5.5.2+ का उपयोग करता है
import { filter } from 'rxjs/operators/filter';
import { map } from 'rxjs/operators/map';
ये आमतौर पर ऑब्जर्वेबल बनाए जाने के बाद स्ट्रीम में आते हैं। जैसा flatMapइस कोड स्निपेट में:
Observable.of([1,2,3,4])
.flatMap(arr => Observable.from(arr));
इस सिंटैक्स का उपयोग करने वाले अन्य ऐसे कीवर्ड:
audit, buffer, catch, combineAll, combineLatest, concat, count, debounce, delay,
distinct, do, every, expand, filter, finally, find , first, groupBy,
ignoreElements, isEmpty, last, let, map, max, merge, mergeMap, min, pluck,
publish, race, reduce, repeat, scan, skip, startWith, switch, switchMap, take,
takeUntil, throttle, timeout, toArray, toPromise, withLatestFrom, zip
FlatMap :
flatMapउपनाम है mergeMapताकि हम mergeMapका उपयोग करने के लिए आयात करने की आवश्यकता है flatMap।
/addआयात के लिए ध्यान दें :
हमें केवल पूरे प्रोजेक्ट में एक बार आयात करना होगा। तो यह एक ही जगह पर करने की सलाह दी। यदि वे कई फ़ाइलों में शामिल हैं, और उनमें से एक को हटा दिया गया है, तो बिल्ड गलत कारणों से विफल हो जाएगा।
import {Observable} from 'rxjs/Observable';ऑब्जर्व करने योग्य आयात करेगा, लेकिन अगर आप वादों का उपयोग कर रहे हैं तो आपको इसे आयात करने की आवश्यकता नहीं है ...toPromiseइसके बिना काम करता है।