Asynchrone Programmierung in Node.js: Verwendung von Versprechen zur Handhabung von MySQL-Funktionen
Node.js umfasst asynchrone Programmierung und erfordert einen anderen Ansatz für die Rückgabe Werte aus Funktionen. Um sich an dieses Muster anzupassen, wird in diesem Artikel untersucht, wie man Promises zum Verwalten von MySQL-Rückgabewerten in Node.js verwendet.
Promises in Node.js
Promises sind nativ in JavaScript und bieten eine standardisierte Möglichkeit zur Handhabung asynchroner Vorgänge. Sie ermöglichen die Erstellung von „Versprechen“, die das letztendliche Ergebnis einer asynchronen Operation (z. B. einer Datenbankabfrage) darstellen können.
Anpassen einer MySQL-Funktion zur Rückgabe eines Versprechens
Stellen Sie sich die folgende MySQL-Funktion vor, die versucht, einen Wert zurückzugeben:
function getLastRecord(name) { // Code for query execution goes here } var rows = getLastRecord('name_record'); console.log(rows); // Won't work due to asynchronous nature
Damit dies funktioniert, müssen wir die Funktion in eine Promise-basierte Funktion konvertieren:
function getLastRecord(name) { return new Promise((resolve, reject) => { // Code for query execution goes here if (err) { return reject(err); } resolve(rows); }); }
Umgang mit dem zurückgegebenen Wert
Mit der Funktion, die ein Versprechen zurückgibt, können Sie jetzt Vorgänge verketten, um das Ergebnis zu verarbeiten:
getLastRecord('name_record').then((rows) => { // Now you have your rows, you can see if there are <20 of them }).catch((err) => { // Handle errors here });
Alternative Verwendung
Wenn Sie sofort überprüfen möchten, ob der zurückgegebene Wert größer als 20 ist, können Sie Folgendes verwenden:
if (await getLastRecord() > 20) { console.log("action"); }
Hinweis: Dieser Code basiert auf der Node.js-Version 8 oder höher für Async/Wait-Unterstützung.
Fazit
Promises bieten eine strukturierte und lesbare Möglichkeit, asynchrone Vorgänge in Node.js zu verwalten. Durch die Nutzung von Promises können Sie Vorgänge verketten und sowohl erfolgreiche als auch erfolglose Ergebnisse konsistent behandeln.
Das obige ist der detaillierte Inhalt vonWie können Versprechen die Handhabung von MySQL-Funktionen in Node.js vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!