Home >Database >Mysql Tutorial >How Can Async/Await Simplify Multiple MySQL Queries in Node.js?

How Can Async/Await Simplify Multiple MySQL Queries in Node.js?

Susan Sarandon
Susan SarandonOriginal
2024-12-02 20:59:11144browse

How Can Async/Await Simplify Multiple MySQL Queries in Node.js?

Asynchronous Programming with MySQL in Node.js Using Async/Await

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn