在 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中文网其他相关文章!