javascript - 监听socket.io中的多个事件

标签 javascript events socket.io coffeescript dom-events

我想向用户显示 socket.io 连接所处的状态。为此,我有一堆这些信息可以告诉用户。

#I can't use `*` because I have some customized events
socket.on 'my_command', =>
    set_status "connecting"

socket.on 'connecting', =>
    set_status "connecting"

socket.on 'disconnect', =>
    set_status "disconnect"

socket.on 'connect_failed', =>
    set_status "connect_failed"

有没有办法将所有这些压缩成更小的东西?像这样的东西:

socket.on 'connecting, disconnect, connect_failed', (name_of_event)=>
    set_status name_of_event

最佳答案

似乎socket.io不提供这样的短手绑定(bind)。您可以将其写在 for 循环中。

for event in ['connecting', 'disconnect', 'connect_failed']
  do (event) =>
    socket.on event, =>
      set_status event

# or
for event in 'connecting, disconnect, connect_failed'.split(/,\s*/)
  do (event) =>
    socket.on event, =>
      set_status event

关于javascript - 监听socket.io中的多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037618/

相关文章:

javascript - KineticJS 如何为图像设置动画

javascript - 如何在 Google Maps directions API 中显示地点标签而不是 A 或 B?

Javascript "this"通过不同的范围

asp.net-core - 是否有 .NET Core socket-io 客户端实现?

javascript - 无法使用node.js : io is not defined加载socket.io

javascript - 用一个简单的函数重新排列元素

javascript - Windows 屏幕比例扰乱了 CSS 大小

javascript - 如何在 NodeJS TypeScript 中使用 async/await 等待来自 TypeScript 事件发射器的事件

c# - 将数据从 dll 发送回 .exe

javascript 无法显示警报