我在访问NodeJS中的变量值时遇到问题。这是一些示例代码和我得到的结果。
for (var z=0, zMessageCount = Description.length; z<zMessageCount; z++){
console.log(z);
if(SomeOtherColumnValue[z] > 9){
client.query('SELECT * FROM my_table WHERE some_column=' + ColumnValue[z], function (err, results) {
if(results < 1){
console.log(z);
}
})
}
}
这是我遇到的问题。对于“for”循环,z的值从0到14.但是当我尝试从client.query函数访问它时,它的值为15.对于每个循环,它不会为自身添加1。我在这里缺少什么吗?
答案 0 :(得分:4)
您需要在函数中包含z以提供范围。
for (var z=0, zMessageCount = Description.length; z<zMessageCount; z++){
console.log(z);
if(SomeOtherColumnValue[z] > 9){
zQuery(z);
}
}
function zQuery (z) {
client.query('SELECT * FROM my_table WHERE some_column=' + ColumnValue[z], function (err, results) {
if(results < 1){
console.log(z);
}
});
}