2016-11-02 3 views
1

aufrufen Ich bin neu in Rxjs. Ich wollte wissen, ob unten Code richtig ist oder eine Korrektur benötigt wird?Wie Cache-Methode auf Observables in Rxjs

var rxjs_1 = require('rxjs');  
rxjs_1.Observable.defer(function() { 

      }) 

      .cache(1); 

von oben Code Ich bin vor Problem mit Cache (es wirft den Fehler: rxjs_1.Observable.defer (...) Cache ist keine Funktion.).

Ich habe node_modules für die installierten Rxjs eingecheckt und in Observable.js Datei gibt es keine Methode namens Cache.

können Sie mir bitte sagen, wie Cache auf Observable in Rxjs aufrufen.

Antwort

0

In der Datei observable.js gibt es keine Methode namens cache, da sie dem Prototyp hinzugefügt wird. Überprüfen Sie rxjs/add/operator/cache.js für die Javascript-Datei.

Wenn ich auf die Dokumentation von Defer (hier: https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/defer.md) schaue, sehe ich, dass Sie eine Observable aus der Defer-Funktion zurückgeben sollen. Sie tun dies nicht in Ihrem Codebeispiel. Wahrscheinlich erhalten Sie deshalb den Fehler, dass die Funktion nicht existiert.

Was versuchen Sie zu erreichen?

+0

Versuchen Sie, den Inhalt zwischenzuspeichern, bevor Sie das Observable zurückgeben. Der oben angegebene Speicherort rxjs/add/operator/cache.js enthält keine Datei cache.js in der Bibliothek rxjs (Version 5.x). – user2313833

+0

Es scheint, Cache wurde ab Version 5.0.0RC1 entfernt: https://github.com/ReactiveX/RxJS/commit/1b23ace Das ist wahrscheinlich, warum Sie den Fehler erhalten. – KwintenP

Verwandte Themen