0

我是 cyclejs 的新手,我正在寻找 websocket 支持,但我没有看到任何支持(除了文档中的只读 websocket 驱动程序和一些 0.1.2 节点端 npm 包)。

我应该创建自己的驱动程序还是我错过了什么?

提前致谢

4

1 回答 1

0

这个页面对你有帮助吗?

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 驱动程序,起草如下:

于 2017-03-21T12:00:10.057 回答