Heim >Datenbank >MySQL-Tutorial >Wie kann Async/Await Node.js MySQL-Abfrageergebnisse synchronisieren?
Node.js-Ergebnisse mit Async/Await für MySQL synchronisieren
In Node.js kann die Handhabung asynchroner Vorgänge eine Herausforderung sein, insbesondere wenn Sie Sie müssen die Ergebnisse synchronisieren, bevor Sie fortfahren. Die Verwendung der Schlüsselwörter async/await ist ein praktischer Ansatz, um dies zu erreichen.
Im bereitgestellten Code-Snippet möchten Sie Ergebnisse aus vier separaten Abfragen abrufen und diese an eine verkettete Zeichenfolge anhängen. Der herkömmliche Callback-basierte Ansatz stellt jedoch eine Herausforderung dar, da die Variablen leer bleiben, da der Code unter den Abfragen zuerst ausgeführt wird.
Um dieses Problem zu lösen, führt Node.js Version 8 die native Funktion util.promisify() ein . Mit dieser Funktion können Sie Callback-basierte Funktionen in Promise-basierte Funktionen umwandeln. Durch die Nutzung von util.promisify() und dem Node-MySQL-Modul können Sie den folgenden Code schreiben:
// Import required modules const mysql = require('mysql'); const util = require('util'); // Create a MySQL connection const conn = mysql.createConnection({/* connection parameters */}); // Promisify the query method using util.promisify(). // Remember to use .bind() to maintain the correct this context. const query = util.promisify(conn.query).bind(conn); // Execute queries concurrently using async/await const main = async () => { try { const rows1 = await query(/* query string */); const rows2 = await query(/* query string */); const rows3 = await query(/* query string */); const rows4 = await query(/* query string */); // Append the results to a single string let appendedText = `${rows1} ${rows2} ${rows3} ${rows4}`; // Use the appendedText as needed } catch (err) { // Handle errors } finally { // Close the connection conn.end(); } }; // Start the process main();
Dieser Code führt die Abfragen gleichzeitig aus und wartet, bis die Ergebnisse verfügbar sind, bevor er fortfährt. Die Zeilen aus jeder Abfrage werden an die Zeichenfolge „appendedText“ angehängt, die Sie dann für die weitere Verarbeitung verwenden können.
Das obige ist der detaillierte Inhalt vonWie kann Async/Await Node.js MySQL-Abfrageergebnisse synchronisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!