私はnode.jsの世界の初心者なので、私の質問はあなたにとって奇妙かもしれません. 私は非常に簡単なシナリオを持っています:1)dbに行を挿入し、この行のIDを取得します2)複数の行を挿入し、それぞれが以前に取得したIDを使用します
フローに問題があります... ステージ 1 からの応答を受け取る前にステージ 2 が開始されるか、挿入が完了する前にすべてのステージが終了します (connection.end() が呼び出されます)。
async モジュールを使用しようとしましたが、役に立ちません。コードを見てみましょう。
// open connection
conn.query('INSERT INTO receipt SET ?', {postid: postGUID, body: body}, function(err, result) {
if (err) throw err;
console.log("ID: "+result.insertId );
conn.query('INSERT INTO imgs SET ?', {postid: result.insertId, link: imgSrc}, function(err, result) {
if (err) throw err;
});
});
conn.end( function(err) {
console.log("CLOSE CONNECTION");
console.log(err);
});
それを手伝ってくれませんか?