在 Node.js 中,异步操作被广泛采用来高效处理数据库交互。 Node.js 8 开始引入的 async/await 语法提供了一种以类似同步的方式处理此类操作的便捷方法。
考虑一个场景,您需要对 MySQL 数据库执行多个查询,并且将他们的结果附加到一个字符串中。传统上,回调用于处理异步查询。但是,使用 async/await,您可以简化和同步此过程。
以下代码演示了如何使用 Node.js 中的 async/await 关键字来执行多个 MySQL 查询并附加其结果:
const mysql = require('mysql'); // or use import if you use TS const util = require('util'); const conn = mysql.createConnection({ yourHOST/USER/PW/DB }); // node native promisify const query = util.promisify(conn.query).bind(conn); (async () => { try { const rows1 = await query('select count(*) as count1 from file_managed'); const rows2 = await query('select count(*) as count2 from file_managed'); const rows3 = await query('select count(*) as count3 from file_managed'); const rows4 = await query('select count(*) as count4 from file_managed'); // append the results to a string const appendedText = `${rows1[0].count1} - ${rows2[0].count2} - ${rows3[0].count3} - ${rows4[0].count4}`; console.log(appendedText); } finally { conn.end(); } })();
在此代码中,查询函数已用 util.promisify() 包装,以将基于回调的函数转换为承诺返回函数。使用 async/await 语法,您可以顺序执行多个查询。每个查询的结果都会分配给变量,并且最终附加的字符串会记录到控制台。
以上是Async/Await 如何简化 Node.js 中的多个 MySQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!