Home >Database >Mysql Tutorial >How Can Async/Await Simplify Multiple MySQL Queries in Node.js?
In Node.js, asynchronous operations are widely employed to handle database interactions efficiently. The async/await syntax, introduced with Node.js 8 onwards, offers a convenient way to handle such operations in a synchronous-like manner.
Consider a scenario where you need to execute multiple queries against a MySQL database and append their results to a string. Traditionally, callbacks are used to handle asynchronous queries. However, with async/await, you can simplify and synchronize this process.
The following code demonstrates how to use the async/await keywords in Node.js to execute multiple MySQL queries and append their results:
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(); } })();
In this code, the query function has been wrapped with util.promisify() to transform the callback-based function into a promise-returning function. Using the async/await syntax, you can then execute multiple queries sequentially. The results from each query are assigned to variables, and the final appended string is logged to the console.
The above is the detailed content of How Can Async/Await Simplify Multiple MySQL Queries in Node.js?. For more information, please follow other related articles on the PHP Chinese website!