unter Verwendung von Node-mysql Ich habe den folgenden Code:Warum ruft dieser Callback nicht den richtigen Wert des äußeren Bereichs auf?
for (var i = 0; i < 10; i++) {
connection.query('select 1', function(err, rows) {
console.log('#' + i);
});
}
I das Ergebnis erwartet # 0, # 1, zu sein ..., # 9, aber das tatsächliche Ergebnis ist 10 # 10-mal gedruckt. Es ist offensichtlich, dass es den Wert i
zum Zeitpunkt der Ausführung des Callbacks anstelle der Callback-Erstellung ausgibt. Wie kann ich mein gewünschtes Ergebnis umsetzen?
'for (var i = 0; i <10; ++ i) (function (i) {connection.query ('select 1', Funktion (err, rows) {console.log ('#' + i)})}) (i); ' –