所以我试图在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构造函数(提供所有需要的参考资料),并解释我做错了什么会很棒!
答案 0 :(得分:2)
对require
的调用将返回包含WebSocketSubject
的模块,因此您的需求调用应如下所示:
const WebSocketSubject = require('rxjs/observable/dom/WebSocketSubject').WebSocketSubject;
或者像这样:
const { WebSocketSubject } = require('rxjs/observable/dom/WebSocketSubject');