Maison > base de données > tutoriel mysql > Comment les promesses peuvent-elles être utilisées pour gérer les résultats MySQL asynchrones dans Node.js ?

Comment les promesses peuvent-elles être utilisées pour gérer les résultats MySQL asynchrones dans Node.js ?

Linda Hamilton
Libérer: 2024-10-27 03:43:03
original
702 Les gens l'ont consulté

How can Promises be Used to Handle Asynchronous MySQL Results in Node.js?

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

La nature asynchrone de Node.js pose des défis aux développeurs habitués à la programmation synchrone. Cela peut être illustré avec une fonction telle que getLastRecord qui récupère les données d'une fonction MySQL.

Lorsqu'ils tentent de renvoyer une valeur à partir de getLastRecord, les développeurs peuvent rencontrer des problèmes en raison de la nature asynchrone du nœud. Voici comment résoudre ce problème à l'aide des promesses :

<code class="javascript">function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    const connection = getMySQL_connection();
    const query_str =
      "SELECT name, " +
      "FROM records " +   
      "WHERE (name = ?) " +
      "LIMIT 1 ";
    const query_var = [name];

    connection.query(query_str, query_var, (err, rows, fields) => {
      if (err) {
        return reject(err);
      }
      resolve(rows);
    });
  });
}</code>
Copier après la connexion

Pour gérer la valeur renvoyée, vous pouvez utiliser then et intercepter les rappels :

<code class="javascript">getLastRecord('name_record').then(function(rows) {
  // Processing of rows goes here
}).catch((err) => { throw err; });</code>
Copier après la connexion

Les promesses vous permettent d'éviter l'imbrication des rappels et d'améliorer le code. lisibilité. Ils deviennent particulièrement utiles lorsqu'ils sont combinés avec Promise.all et des accumulateurs comme Array.prototype.reduce.

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