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.
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