在 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中文網其他相關文章!