在Node.js 中使用Promise 處理MySQL 回傳值
Node.js 的非同步特性為習慣同步程式設計的開發人員帶來了挑戰。這可以透過像 getLastRecord 這樣從 MySQL 函數取得資料的函數來說明。
當嘗試從 getLastRecord 傳回值時,開發人員可能會因節點的非同步性質而遇到問題。以下是如何使用Promises 解決此問題:
<code class="javascript">function getLastRecord(name) { return new Promise((resolve, reject) => { const connection = getMySQL_connection(); const query_str = "SELECT name, " + "FROM records " + "WHERE (name = ?) " + "LIMIT 1 "; const query_var = [name]; connection.query(query_str, query_var, (err, rows, fields) => { if (err) { return reject(err); } resolve(rows); }); }); }</code>
要處理返回值,您可以使用then 並捕獲回調:
<code class="javascript">getLastRecord('name_record').then(function(rows) { // Processing of rows goes here }).catch((err) => { throw err; });</code>
Promises 允許您避免回調巢狀並改善程式碼可讀性。當與 Promise.all 和累加器(如 Array.prototype.reduce)結合使用時,它們變得特別有用。
以上是如何在 Node.js 中使用 Promise 處理非同步 MySQL 結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!