javascript - 如何在io.sockets.on回调中使用io对象?

标签 javascript sockets express

我不想更改我的套接字方法。我希望可以从已连接的函数访问 io

这可能吗?

function sockets (server) {
  const io = require('socket.io')(server);
  io.sockets.on('connection', connected);
}

const connected = (socket) => {
  socket.on('emit_to_all', data => {
    emitToAll(socket, data);

    // above could be achieved with
    // io.emit('emit_to_all', data);
  });
};

我在github here上进行了检查,但是所有初步示例均未使用命名回调。

我找到了必需的文档here

最后,在基本文档中,API here

最佳答案

您可以使用可以做这样的事情

function sockets (server) {
  const io = require('socket.io')(server);
  io.sockets.on('connection', connected(io));
}

const connected = (io) => (socket) => {
  socket.on('emit_to_all', data => {
     emitToAll(socket, data);

     // above could be achieved with
     io.emit('emit_to_all', data);
  });
};

关于javascript - 如何在io.sockets.on回调中使用io对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53797349/

相关文章:

python - 向所有客户端发送消息

node.js - Handlebars 模板引擎循环问题

javascript - Node.js - 具有相互依赖变量的全局配置文件

javascript - 了解 JavaScript 模式功能

javascript - 所见即所得的 niceEdit 编辑器不适用于通过 ajax-php 调用生成的文本区域

sockets - 使用GetQueuedCompletionStatus和ERROR_MORE_DATA的套接字

c - 无需等待接收整个文件即可发送文件

javascript - 如何在客户端调用fetch方法从服务器端接收数组?

javascript - 在日历应用程序中查找从哪里开始计数

javascript - 功能性 setState 和 props