将数据传递给Socket.io回调

时间:2011-06-08 13:14:51

标签: javascript node.js socket.io

client.on('message', function(obj){});

这样可以正常工作,但我试图避免嵌套,所以我把回调函数拿出来就像这样:

client.on('message', doThis(obj));

function doThis(obj) {}

但这给我一个错误,说obj未定义。

如何将消息数据传递给回调函数?

由于

1 个答案:

答案 0 :(得分:3)

client.on('message', doThis);

function doThis(obj) {}

f(doThis)是正确的语法。 f(doThis(arg))语法错误。

后者使用参数doThis立即调用arg(目前尚不存在)。

这就是为什么obj未定义,因为您立即调用了doThis

f(doThis)所做的是传递函数而不是函数的返回值