conn = mysql.createConnection(options);
conn.connect();
var sql = 'select * from member';
for(var i=0; i<3; i++){
(function(){
console.log(i);
conn.query(sql, function(err,result){
console.log('q');
})
})(i)
}
for (var i=0; i<2; i++){
console.log(i)
}
私はnpm-mysqlを使用しています。 私はコンソールに '012qqq01'と表示されると思っていましたが、実際には私は '01201qqq'を得ました。 私は混乱しています。なぜ、「conn.querry」が最後に実行されるのですか?前もって感謝します。nodejsはmysqlを使用して注文を実行します
非同期に実行される 'con.query'の第2引数として渡すコールバック(または関数)はありませんか?それがその方法で実行されると、それはあなたの出力を説明するかもしれません... – nbro
重複 - http://stackoverflow.com/questions/38945606/node-js-does-not-wait-for-the-mysql-server-sends -the-answer-and-continued-wo- –
非同期コードに慣れていないなら、Node.jsコードを書き込む前に、非同期コードを処理する必要があります。それは、この原則が運転哲学であるという点では、極端に*依存しています。 – tadman