我有这样的代码:
for (var index = 1; index < args.length; index++) {
var shell = args[index];
listener.of('/' + shell.namespace || 'shotgun')
.on('connection', function (socket) {
socket.on('execute', function (cmdStr, context, options) {
console.log('Received: ' + cmdStr);
var result = shell.execute(cmdStr, context, options);
socket.emit('result', result);
});
});
}
我正在使用socket.io,并且正在创建多个命名空间。socket.io 命名空间运行良好,但在execute
回调中,对的引用shell
始终是 for 循环中创建的最后一个对象。我需要循环的每次迭代来保持shell
对该迭代的引用。