「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Promise を使用して Node.js で MySQL の戻り値を非同期的に処理する方法

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

2024 年 11 月 9 日に公開
ブラウズ:179

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
  });
}

戻り値を処理するには、.then() および .catch() コールバックを Promise:

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 を採用することで、非同期操作を処理するためのより構造化された読みやすいアプローチが導入され、コードベースがよりクリーンで保守しやすくなります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3