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!