for (let i = 0; i < arr.length; i++) {
const sql = 'select xxx from xxx where xxx=?'
db.query(sql, arr[i].value, (err, results) => {
console.log(results[0]);
})
}
db.query(sql, arr[i].value, (err, results) => {
console.log(results[i]);
})
记录一个想当然的问题,node.js后端使用for循环对数组中每一个数据进行查询时,每次返回的结果都是results[0],而不是results[i]。
本文讨论了在Node.js后端开发中,使用for循环结合异步数据库查询时,如何避免总是获取到同一结果(results[0])而非预期的results[i]。问题源于异步操作的顺序执行特性,解决方案可能涉及Promise.all或者async/await的使用,以确保正确处理每个查询结果。
2699

被折叠的 条评论
为什么被折叠?



