私はNodeJSを初めて使用しています。私は次のスニペットを持っています。NodeJS mysqlとの非同期は私を混乱させます
var connection = mysql.createConnection(dbConfig);
connection.connect(function(err) {
if (err)
console.log("MySQL Connection Error: ", err);
else
console.log("Connection successfully established");
});
connection.query("SELECT * FROM `members1617`;",function(err,rows) {
if (err)
console.log("err: ", err);
else
console.log("rows: ",rows);
connection.end();
});
このコードは悪いですか? connection.connect()
が終了し、クエリがアクティブ化される前に接続が確立されているという保証がないためだと思います。そしてidは、接続が行われる前にクエリが呼び出されているので、あらゆる種類のエラーが発生します。ここでは非同期はどのように機能していますか?
async.jsをお勧めしますか? –
自分自身で非同期を使用していません。 async/await機能は、ES 7のjavascript言語にネイティブで提供されるはずです。異なるライブラリをどのように使用するかを理解する以外の理由で、非同期コードを処理するさまざまな方法を学ぶのは苦労しません。約束は非常に普及しているので、あなたが一日光っていれば、それはあなたに何日かかかります。 –