我试着做些基本的事情,但这完全是在逃避我。我试图从Observable中的rxjx/observable/dom/webSocket中创建一个RxJS5,但我没有使用类型记录或es6模块.简单地说是好的commonJS。我已经根据文档正确地修补了可观察到的内容,但是每当我试图传递主题所期望的字符串时,我就会得到错误:
no WebSocket constructor can be found,[来源].
我还没有时间钻研TypeScript,但据我所知,我已经满足了构造函数的条件,我还看了一下测试规范和他们以同样的方式使用这个函数。 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'
});当我从webSocket消费时,有人能帮我弄清楚如何使用可观察到的可通过rxjs5获得吗?(节点v5.11)
发布于 2016-04-26 06:28:34
这与TypeScript无关,您可能需要为WebSocketSubject提供websocket的构造函数。
在测试用例中,https://github.com/ReactiveX/rxjs/blob/fd0823b99db92d1e214052ad506904b0d744d494/spec/observables/dom/webSocket-spec.ts#L14在根中指定它来全局覆盖websocket,同时也可以将它作为配置对象提供,例如
var ws = require('websocket');
socket = new WebSocketSubject({
url: 'ws://....',
WebSocketCtor: ws.w3cwebsocket
});甚至在TypeScript或ES15 RxJS模块中也需要。
https://stackoverflow.com/questions/36855367
复制相似问题