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),这将为您找到合适的绑定/解除绑定对