„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie behandelt man MySQL-Rückgabewerte asynchron in Node.js mit Versprechen?

Wie behandelt man MySQL-Rückgabewerte asynchron in Node.js mit Versprechen?

Veröffentlicht am 09.11.2024
Durchsuche:770

How to Handle MySQL Return Values Asynchronously in Node.js with Promises?

Nutzung von Versprechen zur Verarbeitung von MySQL-Rückgabewerten in Node.js

Beim Übergang von Python zu Node.js wird die asynchrone Natur von Node.js deutlich. js kann Herausforderungen mit sich bringen. Stellen Sie sich ein Szenario vor, in dem Sie einen Wert von einer MySQL-Funktion zurückgeben müssen, z. B. getLastRecord(name).

Traditionell verwendet Node.js Rückrufe für asynchrone Vorgänge. Um jedoch die asynchrone Natur von getLastRecord() zu bewältigen, nutzen wir Promises.

Um die Funktion mit einem Promise zu implementieren:

function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    // Setup MySQL connection and query
    // ...

    connection.query(query_str, query_var, (err, rows, fields) => {
      if (err) {
        return reject(err); // Handle error
      }
      resolve(rows); // Resolve with results
    }); // Callback function
  });
}

Um den zurückgegebenen Wert zu verarbeiten, können Sie .then()- und .catch()-Rückrufe mit dem Promise verketten:

getLastRecord('name_record')
  .then((rows) => {
    // Handle returned rows here
    console.log(rows);
  })
  .catch((err) => {
    // Handle errors here
    console.log(err);
  });

Sie können auch die bedingte Prüfung implementieren:

getLastRecord('name_record')
  .then((rows) => {
    if (rows.length > 20) {
      console.log('action');
    }
  });

Durch die Einführung von Promises in diesem Szenario führen Sie einen strukturierteren und lesbareren Ansatz für die Handhabung asynchroner Vorgänge ein und sorgen so für eine sauberere und besser wartbare Codebasis.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3