Node.js 中的非同步程式設計:使用Promise 處理MySQL 函數
Node.js 擁抱非同步程式設計,需要不同的回傳方法來自函數的值。為了適應這種模式,本文探討如何在 Node.js 中利用 Promises 管理 MySQL 回傳值。
Node.js 中的 Promises
Promises 是原生的JavaScript 並提供了處理非同步操作的標準化方法。它們允許創建可以表示非同步操作(例如資料庫查詢)的最終結果的“promise”。
調整MySQL 函數以傳回Promise
考慮以下嘗試傳回值的MySQL 函數:
function getLastRecord(name) { // Code for query execution goes here } var rows = getLastRecord('name_record'); console.log(rows); // Won't work due to asynchronous nature
為了實現此功能,我們需要將此函數轉換為基於Promise 的函數:
function getLastRecord(name) { return new Promise((resolve, reject) => { // Code for query execution goes here if (err) { return reject(err); } resolve(rows); }); }
處理回傳值
透過傳回Promise 的函數,您現在可以將操作連結在一起來處理結果:
getLastRecord('name_record').then((rows) => { // Now you have your rows, you can see if there are <20 of them }).catch((err) => { // Handle errors here });
備用用法
如果你想立即檢查回傳值是否大於20,可以使用:
if (await getLastRecord() > 20) { console.log("action"); }
注意:此程式碼依賴Node.js版本8 或更高版本支援非同步/等待。
結論
Promises 提供了一種結構化且可讀的方式來管理 Node.js 中的非同步操作。透過利用 Promise,您可以將操作連結在一起並以一致的方式處理成功和不成功的結果。
以上是Promise 如何簡化 Node.js 中的 MySQL 函式處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!