首页 > 数据库 > mysql教程 > 如何在 Node.js 中使用 Promise 处理异步 MySQL 结果?

如何在 Node.js 中使用 Promise 处理异步 MySQL 结果?

Linda Hamilton
发布: 2024-10-27 03:43:03
原创
703 人浏览过

How can Promises be Used to Handle Asynchronous MySQL Results in Node.js?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板