【发布时间】:2014-08-27 02:43:50
【问题描述】:
在 Node.js 中,我有以下代码可以正常工作:
var io = require('socket.io').listen(8082);
io.sockets.on('connection', function (socket) {
socket.on('message', function (msg) { console.log("message"); console.log(msg); socket.send('Your msg received [[' + msg + ']]'); });
socket.on('disconnect', function () { console.log("disconnect"); });
});
...但我想做的是以某种方式调用一个“外部”函数:
function fnParseMsg(msgArgInFunction)
{
// do some stuff with the msg...
console.log("message"); console.log(msgArgInFunction); socket.send('Your msg received [[' + msgArgInFunction + ']]');
};
var io = require('socket.io').listen(8082);
io.sockets.on('connection', function (socket) {
socket.on('message', fnParseMsg(msg));
socket.on('disconnect', function () { console.log("disconnect"); });
});
我想我需要以某种方式使用闭包;但我不确定如何...
【问题讨论】:
标签: javascript node.js function scope closures