Javascript Node.js:如何循环处理传入数据?
我收到了以下评论: 在Node.js的服务器端处理传入数据时,如果要使用Javascript Node.js:如何循环处理传入数据?,javascript,node.js,Javascript,Node.js,我收到了以下评论: 在Node.js的服务器端处理传入数据时,如果要使用for循环,则必须在匿名函数中创建i,否则您会担心变量i如何大于循环中的限制值 以下是建议的错误修复: var i = 0, len = that.users.length; (function(i) { while(i < len) { console.log(' - - - - - debug - - - - -'); console.log('i = ' + i ); i++;
for
循环,则必须在匿名函数中创建i
,否则您会担心变量i
如何大于循环中的限制值
以下是建议的错误修复:
var i = 0,
len = that.users.length;
(function(i) {
while(i < len) {
console.log(' - - - - - debug - - - - -');
console.log('i = ' + i );
i++;
}
})(i);
var i=0,
len=that.users.length;
(职能(一){
而(我
有人能给我解释一下为什么需要使用匿名函数吗?只有当循环中有异步代码时,问题才会出现。例如(为了简单起见,我改为For循环): 这并不完全是您提出的错误修复,但它是我能想到的最接近的,非常有意义。如果有更多的背景,我可以更确定它应该解决什么问题
var i = 0,
len = that.users.length;
for(i = 0;i < len;i++) {
setTimeout(function() {
console.log('i = ' + i );
}, 500);
}
var i = 0,
len = that.users.length;
for(i = 0;i < len;i++) {
(function(i) {
setTimeout(function() {
console.log('i = ' + i );
}, 500);
})(i);
}