De eenvoudigste manier om de waarde van de q
. correct vast te leggen variabele in een afsluiting in modern JavaScript is om forEach
te gebruiken :
queries.forEach(function(q) {
client.query(q[0], function(err, result) {
if(err) {
console.log(err);
} else {
q[1](result);
}
});
});
Als u de waarde niet vastlegt, geeft uw code de laatste waarde weer die q
had, zoals de callback-functie later werd uitgevoerd, in de context van de bevattende functie.
forEach
, door een callback-functie te gebruiken, isoleert en vangt de waarde van q
zodat het goed kan worden geëvalueerd door de innerlijke terugroepactie.