Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将socket.io事件转换为Bacon EventStream_Javascript_Node.js_Coffeescript_Socket.io_Bacon.js - Fatal编程技术网

Javascript 无法将socket.io事件转换为Bacon EventStream

Javascript 无法将socket.io事件转换为Bacon EventStream,javascript,node.js,coffeescript,socket.io,bacon.js,Javascript,Node.js,Coffeescript,Socket.io,Bacon.js,下面是socket.io上的事件绑定工作正常 io = require('socket.io')() io.on 'connection', (socket) -> console.log socket.id io.listen 3000 然后尝试将socket.io事件转换为Bacon事件流 Bacon = require('baconjs').Bacon io = require('socket.io')() connections = Bacon.fromEventT

下面是
socket.io
上的事件绑定工作正常

io = require('socket.io')()

io.on 'connection', (socket) ->
    console.log socket.id

io.listen 3000
然后尝试将
socket.io事件
转换为
Bacon事件流

Bacon = require('baconjs').Bacon
io = require('socket.io')()

connections = Bacon.fromEventTarget io, 'connection'

connections.onValue (socket) ->
    console.log socket.id

io.listen 3000
为什么它在下面失败了

TypeError: Object connection has no method 'on'

fromEventTarget
盲目尝试两种不同的回调方法,包括
bind
on
。在socket.io:Server的情况下,这两种方法都存在,并且
fromEventTarget
使用了错误的方法

我将使用
fromCallback

connections = Bacon.fromCallback(io, 'on', 'connection')

这似乎有点不稳定,所以我创建了一个。

fromEventTarget
盲目地尝试了两种不同的回调方法,包括
bind
on
。在socket.io:Server的情况下,这两种方法都存在,并且
fromEventTarget
使用了错误的方法

我将使用
fromCallback

connections = Bacon.fromCallback(io, 'on', 'connection')

这似乎有点不稳定,所以我创建了一个。

在版本0.7.46中有一个Bacon.fromEventTarget的改进版本(或者只是Bacon.fromEvent btw),它应该为您找到合适的绑定/解除绑定对。

在版本0.7.46中有一个Bacon.fromEventTarget的改进版本(或者只是Bacon.fromEvent btw),这将为您找到合适的绑定/解除绑定对