Come importare correttamente gli operatori dal pacchetto `rxjs`

Sono confuso su come importare quegli operatori. Alcuni posso importare con l’ import 'rxjs/add/operator/do'; e alcuni non posso. Ad esempio, questo non funziona: import 'rxjs/add/operator/map'; (Ho controllato in rxjs / add / operator, la mappa esiste lì).

Essenzialmente quello che sto cercando di fare è riprodurlo in Angular4:

 var requestStream = Rx.Observable.just('https://api.github.com/users'); var responseStream = requestStream .flatMap(function(requestUrl) { return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl)); }); responseStream.subscribe(function(response) { // render `response` to the DOM however you wish }); 

Voglio anche sapere come gestire l’operatore just , dato che non riesco a vederlo in rxjs / add / operator …

Grazie per qualsiasi aiuto

Esistono operatori statici e di istanza in RxJS:

 static of interval instance map first 

Potresti volerli utilizzare sull’object globale Observable o sull’istanza osservabile come questa:

 Observable.of() observableInstance.map() 

Per questo è necessario importare i moduli dal pacchetto di add :

 import 'rxjs/add/observable/of' import 'rxjs/add/operator/map' 

Quando si importa il modulo, esso essenzialmente Observable patch Observable o il prototipo Observable aggiungendo il metodo corrispondente agli operatori.

Ma puoi anche importare direttamente questi operatori e non applicare patch Observable o observableInstance :

 import { of } from 'rxjs/observable/of'; import { map } from 'rxjs/operator/map'; of() map.call(observableInstance) 

Con l’introduzione di operatori disponibili in [email protected], ora dovresti approfittare del metodo di pipe integrato:

 import { of } from 'rxjs/observable/of'; import { map } from 'rxjs/operators/map'; of().pipe(map(), ...) 

Maggiori informazioni su RxJS: Understanding Lettable Operators

La versione inferiore di rxjs ha una cartella

node_modules \ rxjs \ operatore

La versione più alta di rxjs ha una cartella

node_modules \ rxjs \ operatori

Assicurati che l’ubicazione del file typescript sia presente per la mappa e che esistano altri operatori all’interno.

Se il problema persiste, eliminare la cartella rxjs da node_modules ed eseguire il comando

 npm install --save 

questo di solito causa l’abbassamento della versione del pacchetto dalla versione superiore di rxjs.