【问题标题】:How to call cache method on Observables in rxjs如何在 rxjs 中调用 Observables 上的缓存方法
【发布时间】:2016-11-02 09:37:09
【问题描述】:

我是 rxjs 的新手。 我想知道下面的代码是否正确或需要任何更正?

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

            })

            .cache(1);

通过上面的代码,我遇到了缓存问题(它抛出错误:rxjs_1.Observable.defer(...).cache is not a function)。

我在 node_modules 中检查了已安装的 rxjs,并且在 Observable.js 文件中没有称为缓存的方法。

你能告诉我如何在 rxjs 中调用 Observable 上的缓存吗?

【问题讨论】:

    标签: rxjs5


    【解决方案1】:

    observable.js 文件中没有名为 cache 的方法,因为他们将其添加到原型中。检查 rxjs/add/operator/cache.js 中的 javascript 文件。

    如果我查看 defer 的文档(这里:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/defer.md),我发现你应该从 defer 函数返回一个 observable。您没有在代码示例中执行此操作。这可能就是您收到函数不存在错误的原因。

    你想达到什么目的?

    【讨论】:

    • 在返回 Observable 之前尝试缓存内容。上面给出的位置 rxjs/add/operator/cache.js 不包含 rxjs(版本 5.x)库中的 cache.js 文件。
    • 似乎从 5.0.0RC1 版本开始删除了缓存:github.com/ReactiveX/RxJS/commit/1b23ace 这可能就是您收到错误的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多