rxjs5 - WebSocketSubject不是构造函数

时间:2017-12-22 21:58:22

标签: javascript node.js websocket rxjs rxjs5

所以我试图在node.js环境中使用rxjs的 Observable.webSocket 。我从文档和this堆栈溢出帖子中看到,我需要提供自己的websocket版本。我遇到的问题是所提供的两个示例都表明了 WebSocketSubject ,但他们没有提到它来自何处。

const ws = require('nodejs-websocket');
const Rx = require('rxjs/Rx');
const WebSocketSubject = require('rxjs/observable/dom/WebSocketSubject');

socket = new WebSocketSubject({url: 'ws://....', WebSocketCtor: ws.w3cwebsocket});

const marketSocket$ = Rx.Observable.webSocket('ws://....');

这是我尝试检索必要的WebSocketSubject,但我只是得到一个错误告诉我“WebSocketSubject不是构造函数”。我有什么痛苦明显的遗失吗?如果你可以共享一个工作解决方案,提供一个有效的websocket构造函数(提供所有需要的参考资料),并解释我做错了什么会很棒!

1 个答案:

答案 0 :(得分:2)

require的调用将返回包含WebSocketSubject的模块,因此您的需求调用应如下所示:

const WebSocketSubject = require('rxjs/observable/dom/WebSocketSubject').WebSocketSubject;

或者像这样:

const { WebSocketSubject } = require('rxjs/observable/dom/WebSocketSubject');