JavaScript - 如何为 Socket.io 事件创建自定义 API 监听器?

标签 javascript socket.io

我正在尝试为我网站上的第三个开发人员创建自定义 API 监听器。它应该看起来像这样:

// Function will be fired when any user joins to room
API.on('user-join', function(data){
  console.log(data); // Data is object with user id and name
});

我也有Socket.io监听器:

// This handler is fired every time when anyone joins
socket.on('user-join', function(data){
  // Probably here i should call a callback to API.on('user-join') with that data object
});

如何将 Socket.io 处理程序中的回调发送到我自定义创建的 API?请让我知道如何执行此操作。谢谢。

最佳答案

不确定您要做什么,但如果我理解正确的话,您希望将 socket.io API 的“on”函数映射到您的 API。

最好的方法是实现这样的函数:

API.on = (eventName, callback) => {
    socket.on(eventName, callback);
}

其中 eventName 是一个字符串,回调函数。

这样,您就可以向 API 添加事件监听器,就像使用 Socket.io 一样 例如:

API.on('testEvent', (obj) => {console.log(obj});

关于JavaScript - 如何为 Socket.io 事件创建自定义 API 监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56427567/

相关文章:

node.js - socket io鼠标点击事件

reactjs - 使用 socketio 将 Action 发送到不同的 react 组件中

node.js - Apache ProxyPass 和 Node.js - 不提供 socket.io

javascript - Chrome react 扩展

javascript - 如何限制用户在 firebase 实时数据库中每 15 分钟写一次帖子

javascript - 使用 jquery 将所有图像包装在 html 字符串中

javascript - Chrome 显示 "Resource interpreted as Stylesheet but transferred with MIME type text/html"

javascript - YouTube API - 嵌入式 iframe 上的事件不起作用

javascript - 如何在javascript中更改用户输入和计算输出之间的背景颜色

websocket - 仅针对使用 channel 而定制的 Phoenix 应用程序如何在多台机器上扩展?使用HAProxy?如何向所有节点广播消息?