Promise を使用して Node.js で MySQL の戻り値を非同期的に処理する方法

Barbara Streisand
リリース: 2024-10-26 16:33:02
オリジナル
180 人が閲覧しました

How to Handle MySQL Return Values Asynchronously in Node.js with Promises?

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

Python から Node.js への移行における、Node.js の非同期の性質。 js には課題が存在する可能性があります。 getLastRecord(name) などの MySQL 関数から値を返す必要があるシナリオを考えてみましょう。

伝統的に、Node.js は非同期操作にコールバックを使用します。ただし、getLastRecord() の非同期の性質を処理するには、Promises を利用します。

Promise を使用して関数を実装するには:

function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    // Setup MySQL connection and query
    // ...

    connection.query(query_str, query_var, (err, rows, fields) => {
      if (err) {
        return reject(err); // Handle error
      }
      resolve(rows); // Resolve with results
    }); // Callback function
  });
}
ログイン後にコピー

戻り値を処理するには、次のようにチェーンします。 Promise への .then() および .catch() コールバック:

getLastRecord('name_record')
  .then((rows) => {
    // Handle returned rows here
    console.log(rows);
  })
  .catch((err) => {
    // Handle errors here
    console.log(err);
  });
ログイン後にコピー

条件チェックも実装できます:

getLastRecord('name_record')
  .then((rows) => {
    if (rows.length > 20) {
      console.log('action');
    }
  });
ログイン後にコピー

このシナリオで Promise を採用することで、非同期操作を処理するためのより構造化された読みやすいアプローチにより、コードベースがよりクリーンで保守しやすくなります。

以上がPromise を使用して Node.js で MySQL の戻り値を非同期的に処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!