ホームページ >データベース >mysql チュートリアル >Promise を使用して Node.js で非同期 MySQL 結果を処理するにはどうすればよいですか?

Promise を使用して Node.js で非同期 MySQL 結果を処理するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 03:43:03680ブラウズ

How can Promises be Used to Handle Asynchronous MySQL Results in Node.js?

Promises を使用して Node.js で MySQL 戻り値を処理する

Node.js の非同期の性質は、同期プログラミングに慣れている開発者にとって課題となります。これは、MySQL 関数からデータをフェッチする getLastRecord のような関数で説明できます。

getLastRecord から値を返そうとすると、開発者はノードの非同期の性質により問題が発生する可能性があります。 Promises を使用してこれに対処する方法は次のとおりです。

<code class="javascript">function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    const connection = getMySQL_connection();
    const query_str =
      "SELECT name, " +
      "FROM records " +   
      "WHERE (name = ?) " +
      "LIMIT 1 ";
    const query_var = [name];

    connection.query(query_str, query_var, (err, rows, fields) => {
      if (err) {
        return reject(err);
      }
      resolve(rows);
    });
  });
}</code>

戻り値を処理するには、then コールバックと catch コールバックを使用できます。

<code class="javascript">getLastRecord('name_record').then(function(rows) {
  // Processing of rows goes here
}).catch((err) => { throw err; });</code>

Promise を使用すると、コールバックのネストを回避し、コードを改善できます。読みやすさ。これらは、Promise.all や Array.prototype.reduce.

などのアキュムレータと組み合わせると特に便利になります。

以上がPromise を使用して Node.js で非同期 MySQL 結果を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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