ホームページ >データベース >mysql チュートリアル >Async/Await は Node.js での複数の MySQL クエリをどのように簡素化できるでしょうか?

Async/Await は Node.js での複数の MySQL クエリをどのように簡素化できるでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-02 20:59:11150ブラウズ

How Can Async/Await Simplify Multiple MySQL Queries in Node.js?

Async/Await を使用した Node.js での MySQL の非同期プログラミング

Node.js では、データベースの対話を効率的に処理するために非同期操作が広く採用されています。 Node.js 8 以降で導入された async/await 構文は、このような操作を同期のような方法で処理する便利な方法を提供します。

MySQL データベースに対して複数のクエリを実行する必要があるシナリオを考えてみましょう。結果を文字列に追加します。従来、コールバックは非同期クエリを処理するために使用されていました。ただし、async/await を使用すると、このプロセスを簡素化して同期できます。

次のコードは、Node.js で async/await キーワードを使用して複数の MySQL クエリを実行し、その結果を追加する方法を示しています。

const mysql = require('mysql'); // or use import if you use TS
const util = require('util');
const conn = mysql.createConnection({ yourHOST/USER/PW/DB });

// node native promisify
const query = util.promisify(conn.query).bind(conn);

(async () => {
  try {
    const rows1 = await query('select count(*) as count1 from file_managed');
    const rows2 = await query('select count(*) as count2 from file_managed');
    const rows3 = await query('select count(*) as count3 from file_managed');
    const rows4 = await query('select count(*) as count4 from file_managed');

    // append the results to a string
    const appendedText = `${rows1[0].count1} - ${rows2[0].count2} - ${rows3[0].count3} - ${rows4[0].count4}`;

    console.log(appendedText);
  } finally {
    conn.end();
  }
})();

このコードでは、クエリ関数が util.promisify() でラップされ、コールバックベースの関数が変換されています。 Promise を返す関数に変換します。 async/await 構文を使用すると、複数のクエリを順番に実行できます。各クエリの結果は変数に割り当てられ、最後に追加された文字列がコンソールに記録されます。

以上がAsync/Await は Node.js での複数の MySQL クエリをどのように簡素化できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。