Maison >base de données >tutoriel mysql >Comment Async/Await peut-il simplifier plusieurs requêtes MySQL dans Node.js ?

Comment Async/Await peut-il simplifier plusieurs requêtes MySQL dans Node.js ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 20:59:11153parcourir

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

Programmation asynchrone avec MySQL dans Node.js à l'aide d'Async/Await

Dans Node.js, les opérations asynchrones sont largement utilisées pour gérer efficacement les interactions avec les bases de données. La syntaxe async/await, introduite à partir de Node.js 8, offre un moyen pratique de gérer de telles opérations de manière synchrone.

Considérez un scénario dans lequel vous devez exécuter plusieurs requêtes sur une base de données MySQL et ajouter leurs résultats à une chaîne. Traditionnellement, les rappels sont utilisés pour gérer les requêtes asynchrones. Cependant, avec async/await, vous pouvez simplifier et synchroniser ce processus.

Le code suivant montre comment utiliser les mots-clés async/await dans Node.js pour exécuter plusieurs requêtes MySQL et ajouter leurs résultats :

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();
  }
})();

Dans ce code, la fonction de requête a été encapsulée avec util.promisify() pour transformer la fonction basée sur le rappel en une fonction de retour de promesse. En utilisant la syntaxe async/await, vous pouvez ensuite exécuter plusieurs requêtes séquentiellement. Les résultats de chaque requête sont attribués à des variables et la chaîne finale ajoutée est enregistrée dans la console.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn