我是 cyclejs 的新手,我正在寻找 websocket 支持,但我没有看到任何支持(除了文档中的只读 websocket 驱动程序和一些 0.1.2 节点端 npm 包)。
我应该创建自己的驱动程序还是我错过了什么?
提前致谢
这个页面对你有帮助吗?
https://cycle.js.org/drivers.html
特别是提到的示例代码:
function WSDriver(/* no sinks */) {
return xs.create({
start: listener => {
this.connection = new WebSocket('ws://localhost:4000');
connection.onerror = (err) => {
listener.error(err)
}
connection.onmessage = (msg) => {
listener.next(msg)
}
},
stop: () => {
this.connection.close();
},
});
}
如果您添加一个接收器,这应该是一个读写驱动程序。从他们的文档中:
大多数驱动程序,如 DOM 驱动程序,采用接收器(描述写入)和返回源(捕获读取)。但是,对于只写驱动程序和只读驱动程序,我们可能有有效的案例。
例如,我们刚刚在上面看到的单行日志驱动程序是一个只写驱动程序。注意它是一个不返回任何流的函数,它只是消耗它接收到的接收器 msg$。
其他驱动程序仅创建向 main() 发出事件的源流,但不从 main() 接收任何接收器。一个这样的例子是一个只读的 Web Socket 驱动程序,起草如下: