node.js - 对 node.js 的 Reactive-Extensions/RxJS 实现

标签 node.js reactive-extensions-js rxjs

我只是想实现

https://github.com/Reactive-Extensions/RxJS

到我的 Node 项目。

当然,有 npm-package 可用,但我发现它更新较少,模块较少,并且只使用了 min。文件,所以我想使用来自 git 源的 rxjs。

我下载了 RxJS-master 并将目录下的所有文件复制到../myProject/lib/rx/

我明白了

rx.node.js 在这些文件中

var Rx = require('./rx');
require('./rx.aggregates');
require('./rx.binding');
require('./rx.coincidence');
require('./rx.experimental');
require('./rx.joinpatterns');
require('./rx.testing');
require('./rx.time');
module.exports = Rx;

所以,我的 app.js 代码是这样的

var rx = require("./lib/rx/rx.node.js")

function test()
{
    var as = new rx.AsyncSubject()
    setTimeout(function ()
    {
        as.onNext("works!")
        as.onCompleted()
    }, 500)
    return as
}

var a = test().subscribe(function (result)
{
    console.log("Got result: " + result)
})

这给出了如下错误,

.../rx/lib/rx/rx.binding.js:173
    var BehaviorSubject = Rx.BehaviorSubject = (function (_super) {
                          ^
ReferenceError: Rx is not defined
    at .../rx/lib/rx/rx.binding.js:173:27
    at Observable (.../rx/lib/rx/rx.binding.js:14:26)
    at Object.<anonymous> (.../rx/lib/rx/rx.binding.js:18:2)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (.../rx/lib/rx/rx.node.js:3:1)

Process finished with exit code 1

怎么了?


如果我修改 rx.node.js

var Rx = require('./rx');
module.exports = Rx;

代码按预期运行,所以显然 require - sub modules 部分运行不正常。


谢谢。

最佳答案

在最新版本中已修复,我使用 this commit 删除了有问题的错误版本

NPM 已相应更新以删除 2.1.1 并替换为未损坏的版本。

关于node.js - 对 node.js 的 Reactive-Extensions/RxJS 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401506/

相关文章:

rxjs 平面图丢失

javascript - Rxjs 双工流

angular - *ngFor 可观察对象的迭代。过滤 onInput 应该是可能的。如何?

angular - 单击外部组件不工作 | Angular

javascript - Firebase Cloud Firestore - 如何同时查询两个子集合?

javascript - ER_PARSE_ERROR node.js 和 mysql 问题(插入)

node.js - 使用 session 通过 Mongoose 插件设置created_by用户

javascript - 如何使用nodejs和socket.io在php中实现私聊

javascript - 如何使用 RxJs 异步加载图像并在所有加载后执行方法

javascript - Rxjs吞掉错误