在 Node.js 中利用 Promise 處理 MySQL 傳回值
從 Python 轉換到 Node.js,Node.js 的非同步特性。 Node.js 可能會帶來挑戰。考慮一個場景,您需要從 MySQL 函數傳回一個值,例如 getLastRecord(name)。
傳統上,Node.js 使用回調進行非同步操作。但是,為了處理 getLastRecord() 的非同步特性,我們將利用 Promise。
要使用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 }); }
要處理回傳值,您可以連結Promise 的.then() 和.catch() 回呼:
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,您引入了更加結構化和可讀的方法來處理非同步操作,確保更乾淨和更可維護的程式碼庫。
以上是如何在 Node.js 中使用 Promises 非同步處理 MySQL 回傳值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!