/ / आरएक्सजेएस 5.x में से, अवलोकन करने के लिए सबसे अच्छा तरीका? - जावास्क्रिप्ट, आरएक्सजेएस, आरएक्सजेएस 5

आरएक्सजेएस 5.x में से, अवलोकन करने के लिए सबसे अच्छा तरीका है? - जावास्क्रिप्ट, आरएक्सजेएस, आरएक्सजेएस 5

अब जब हमारे पास "लेटेबल" ऑपरेटर हैं, तो हमें एक बनाने के बारे में कैसे जाना चाहिए Observable दूसरे से?

जब मैं करने की कोशिश करता हूं:

import {Observable} from "rxjs/Observable"
const source = Observable.from(someOtherStream)

मुझे त्रुटि मिलती है Observable.from is not a function, जो समझ में आता है, क्योंकि from अब कुछ और है जिसे अलग से आयात करने की आवश्यकता है।

मैं नहीं करना चाहता हूँ

import "rxjs/add/observable/from" अब प्रोटोटाइप समस्याओं के कारण।

मैं क्या कर रहा था:

import { Observable } from "rxjs/Observable"
import { from } from "rxjs/observable/from"

const myNewStream = from.call(
Observable,
someOtherStream
)

लेकिन यह वास्तव में मुझे किसी कारण के लिए "हैकी" लगता है। क्या किसी के पास इसके बारे में जाने का कोई बेहतर तरीका है?

उत्तर:

उत्तर № 1 के लिए 4

लेटेबल्स पीछे हैं rxjs/operators यहां पर लिखा है.

के लिये from आप पर्यवेक्षण आयात किए बिना इसे आयात करने में सक्षम होना चाहिए।

import { from } from "rxjs/observable/from";

const prom = new Promise(res => setTimeout(
() => res("promise"), 3000
));

from(prom).subscribe(x => console.log(x));

वेबपैकबिन उदाहरण

का उपयोग करते हुए from इस तरह से आप की अनुमति देता है pipe() लेटेबल ऑपरेटरों के लिए।

import { from } from "rxjs/observable/from";
import { map } from "rxjs/operators/map";

const prom = new Promise(res => setTimeout(
() => res("promise"), 3000
));

from(prom).pipe(
map(x => x.split("").reverse().join(""))
).subscribe(x => console.log(x));

वेबपैकबिन उदाहरण


जवाब के लिए 0 № 2

मुझे लगता है कि यह गलतफहमी है from कर देता है। यह सिर्फ एक ऐसा कार्य है जो "धारा" (वह "पर्यवेक्षक, वादा, सरणी, ...) लेता है और इससे एक पर्यवेक्षण बनाता है।

इसका मतलब है कि आप इसे किसी अन्य फ़ंक्शन की तरह उपयोग करते हैं:

import { from } from "rxjs/observable/from"

from(someOtherStream).pipe(...).subscribe(...)