Maison > base de données > tutoriel mysql > Comment gérer les valeurs de retour MySQL de manière asynchrone dans Node.js avec des promesses ?

Comment gérer les valeurs de retour MySQL de manière asynchrone dans Node.js avec des promesses ?

Barbara Streisand
Libérer: 2024-10-26 16:33:02
original
282 Les gens l'ont consulté

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

Tirer parti des promesses pour traiter les valeurs de retour MySQL dans Node.js

Lors de la transition de Python vers Node.js, la nature asynchrone de Node. js peut présenter des défis. Imaginons un scénario dans lequel vous devez renvoyer une valeur à partir d'une fonction MySQL, telle que getLastRecord(name).

Traditionnellement, Node.js utilise des rappels pour les opérations asynchrones. Cependant, pour gérer la nature asynchrone de getLastRecord(), nous exploiterons les promesses.

Pour implémenter la fonction à l'aide d'une promesse :

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
  });
}
Copier après la connexion

Pour gérer la valeur renvoyée, vous pouvez chaîner Rappels .then() et .catch() à la promesse :

getLastRecord('name_record')
  .then((rows) => {
    // Handle returned rows here
    console.log(rows);
  })
  .catch((err) => {
    // Handle errors here
    console.log(err);
  });
Copier après la connexion

Vous pouvez également implémenter la vérification conditionnelle :

getLastRecord('name_record')
  .then((rows) => {
    if (rows.length > 20) {
      console.log('action');
    }
  });
Copier après la connexion

En adoptant les promesses dans ce scénario, vous introduisez un approche plus structurée et lisible de la gestion des opérations asynchrones, garantissant une base de code plus propre et plus maintenable.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal