首頁 > 資料庫 > mysql教程 > Async/Await 如何簡化 Node.js 中的多個 MySQL 查詢?

Async/Await 如何簡化 Node.js 中的多個 MySQL 查詢?

Susan Sarandon
發布: 2024-12-02 20:59:11
原創
187 人瀏覽過

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

在 Node.js 中使用 Async/Await 進行 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() 包裝,以將基於回呼的函數轉換為承諾返回函數。使用 async/await 語法,您可以依序執行多個查詢。每個查詢的結果都會指派給變量,並且最終附加的字串會記錄到控制台。

以上是Async/Await 如何簡化 Node.js 中的多個 MySQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板