我想创建一个客户端函数,可以使用客户端变量接收和执行任意命令。我将从我的服务器发送这些函数,方法是使用 socket.io 发送一个 JSON 对象,其中包含一个匿名函数,这将是我的命令。它看起来像下面这样:
//client side
socket.on('executecommand', function(data){
var a = "foo";
data.execute(a); //should produce "foo"
});
//server side
socket.emit('executecommand', {'execute': function(param){
console.log(param);
}});
然而,当我尝试它时,客户端收到一个空的 json 对象(data == {}
),然后抛出异常,因为数据不包含执行方法。这里出了什么问题?