在Node.js 中利用Promise 處理MySQL 回傳值
從Python 過渡到Node.js,Node.js 的非同步特性使得Node.js 的非同步特性變得更加重要。 Node.js 可能會帶來挑戰。考慮一個場景,您需要從 MySQL 函數傳回一個值,例如 getLastRecord(name)。
傳統上,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