Promise 如何簡化 Node.js 中的 MySQL 函式處理?

Mary-Kate Olsen
發布: 2024-10-26 13:36:30
原創
742 人瀏覽過

How Can Promises Simplify MySQL Function Handling in Node.js?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!