我无法访问回调函数中的数据[i] 这是我的代码:
var data = ['HI', 'Hi2'];
for(var i=0;i<data.length;i++){
console.log(data[i]); // Just works fine
//use mysql to query database
mysql.query('some sql stuff', function(err,result){
console.log(data); // Just works fine
console.log(data[i]); // Doesn't work
}
);
}
答案 0 :(得分:0)
当您的第一个SQL查询完成时,循环完成且i
的值为1,因此我希望您的代码能够记录hi2
两次。将查询移到for循环之外。
var data = ['HI', 'Hi2'];
for(i=0;i<data.length;i++){
console.log(data[i]); // Just works fine
//use mysql to query database
logStuff(i);
}
function logStuff(i) {
mysql.query('some sql stuff', function(err,result){
console.log(data); // Just works fine
console.log(data[i]); // Doesn't work
});
}