我正在使用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/