node.js - 如何使用 socket.io 发出事件并将函数作为参数传递

标签 node.js socket.io

我正在使用socket.io,我试图从我的服务器发出一个事件并传递一个带有函数作为参数的对象。这是我的代码:

  socket.emit('customEvent', {
    name : "Test".
    myFunc : function() {
        //some logic here
    }
  });

然后在客户端(浏览器中的我的应用程序)中,我可以访问“name”属性,但是当我尝试访问“myFunc”时,却得到“未定义”。这是我的代码

socket.on('customEvent', function(data){
    data.myFunc();
});

正确的方法是什么(如果可能的话)?

最佳答案

数据以 JSON 形式传输,因此不能包含函数。也许您正在 socket.io's documentation 中寻找所谓的“致谢” ?

// server
socket.on('customEvent', function (data, fn) {
    fn(data.x)
})

// client
socket.emit('customEvent', { x: 1 }, function(){
    // ...
})

关于node.js - 如何使用 socket.io 发出事件并将函数作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792765/

相关文章:

javascript - 如何多级迭代 JSON?

ios - Websockets 与 iOS 推送通知

javascript - Node.JS 上的跟踪系统

Node.js包安装错误

javascript - 当新用户登录时,使用 socket io 将标记添加到谷歌地图

node.js - 在 Salesforce 中使用 Nodejs 创建 Slack 机器人

javascript - Electron 读取和写入USB驱动器

node.js - Node-XMPP 没用吗?选择 XMPP 服务器

node.js - 获取传入请求的 HTTP 版本

javascript - 如何在socket.io中连接房间