这几天我正在用NodeJS构建我的第一个项目,但是我对某个任务有点困惑,我认为这是一个简单的任务,我想问题是我对这些知识缺乏了解异步方法,但我无法在任何地方找到答案。在NodeJS中使用异步响应的异步调用
我有一个简单的循环遍历数组和任何元素,根据一些规则,我会调用一个函数或另一个。 现在某些操作会比其他操作更快,所以我最终可能会返回元素N上的函数,而不是元素N-1上的函数。 为简单起见像这样
for (var i = 0 ; i < 10 ; i++) {
if (i%2 === 0) {
setTimeout(function(i) {
console.log(i);
}, 2000);
}
else { console.log(i); }
}
所以任何偶数将印有2秒滞后而奇数数字将被立即打印。 反正运行它,我得到
1
3
5
7
9
<<2 seconds break>>
undefined
undefined
undefined
undefined
undefined
看起来甚至值为“丢失”。 如何传递值以确保函数不会丢失输入值? 我错过了什么吗?
感谢, 莫罗