2016-11-02 63 views
1

我是rxjs的新手。 我想知道下面的代碼是否正確或需要更正?如何調用rxjs中的Observables的緩存方法

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

      }) 

      .cache(1); 

通過上面的代碼,我面臨着高速緩存的問題(這是引發錯誤:rxjs_1.Observable.defer(...)的緩存是不是一個函數)。

我在node_modules中檢查了安裝的rxjs,並在Observable.js文件中沒有名爲cache的方法。

請問能否告訴我如何在rxjs中調用Observable上的緩存。

回答

0

在observable.js文件中沒有稱爲緩存的方法,因爲它們將其添加到原型中。檢查JavaScript文件的rxjs/add/operator/cache.js。

如果我看看延期文檔(這裏是:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/defer.md),我看你應該從延遲函數返回一個可觀察值。你在代碼示例中沒有這樣做。這可能是你得到函數不存在的錯誤的原因。

你想達到什麼目的?

+0

嘗試在返回Observable之前緩存內容。 上面給出的位置rxjs/add/operator/cache.js在rxjs(版本5.x)庫中不包含cache.js文件。 – user2313833

+0

它似乎緩存從版本5.0.0RC1開始被刪除:https://github.com/ReactiveX/RxJS/commit/1b23ace這可能是你爲什麼得到錯誤。 – KwintenP

相關問題