Node.js 为节点js中的mysql查询回调函数传递额外参数

Node.js 为节点js中的mysql查询回调函数传递额外参数,node.js,Node.js,我尝试使用NodeJS运行mysql查询,并在回调函数中传递一些附加参数 for (var i = 0; i < categories.length; i++) { connection.query ('select * from products where category=' + categories[i] , function (err, products) { if (products != undefined && product

我尝试使用NodeJS运行mysql查询,并在回调函数中传递一些附加参数

for (var i = 0; i < categories.length; i++)
{
    connection.query ('select * from products where category=' + categories[i] , function (err, products) {
            if (products != undefined && products.length > 0) 
            {
                // want to do some processing based on product data and category name   
            }
    });
}
for(变量i=0;i
for(变量i=0;i0)
{
//使用`categoryName`
}
});
}

您可能还想考虑使用一个数据库连接池,而不是仅仅一个连接(因为所有查询都是排队的,每个连接的任何一个时间只能执行一个查询)。

闭包……不知道如何在我的情况下这样做,但会尝试一下。如果使用const,类别变量不会只设置一次吗?第一个?设置一次(每次迭代),但限制在
块的
范围内(而
var
限制在最近的
函数
范围内,范围要宽得多)。如果要修改该块中的其他位置的值,则必须使用
let
或使用闭包+
var
。我尝试过,但在for块中设置后,该值似乎没有改变。