我正在尝试做一些基本的事情,但这完全是在逃避我。我正试图在RxJS5中从Observable
创建一个rxjx/observable/dom/webSocket
,但我没有使用打字稿或es6模块......只是简单的'很好的共同点.JS。我已经设法根据文档正确修补了Observable,但每当我尝试传入主题所期望的字符串时,我都会收到错误:
no WebSocket constructor can be found
,[source]。
我还没来得及深入研究TypeScript,但从我所知道的,我已经满足了构造函数的条件,我也看了一下测试规范,{{3} } Observable.webSocket('ws://host:port');
我正在尝试,但我仍然收到错误。
我试过了:
var Rx = require('rxjs/Rx');
require('rxjs/Rx.dom').webSocketSubject; //also tried just using `.webSocket`
var source = Rx.Observable.webSocket('ws://localhost:53311');
source.subscribe();
我也尝试将对象传递给Rx.Observable.webSocket
:
var source = Rx.Observable.webSocket({
url: 'ws://host:port'
});
当使用commonJS消费时,有人可以帮我弄清楚如何使用webSocket
they use the function in the same way的#executors X #executor-cores
Observable吗? (节点v5.11)
答案 0 :(得分:2)
这不是关于TypeScript的,您可能需要提供websocket到WebSocketSubject的构造函数。
在测试用例中,https://github.com/ReactiveX/rxjs/blob/fd0823b99db92d1e214052ad506904b0d744d494/spec/observables/dom/webSocket-spec.ts#L14指定它在root中全局覆盖websocket,同时它也可以将它作为配置对象提供,如
var ws = require('websocket');
socket = new WebSocketSubject({
url: 'ws://....',
WebSocketCtor: ws.w3cwebsocket
});
即使在TypeScript或ES15 RxJS模块中也需要。