Maison  >  Article  >  base de données  >  Comment les promesses peuvent-elles simplifier la gestion des fonctions MySQL dans Node.js ?

Comment les promesses peuvent-elles simplifier la gestion des fonctions MySQL dans Node.js ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 13:36:30743parcourir

How Can Promises Simplify MySQL Function Handling in Node.js?

Programmation asynchrone dans Node.js : utiliser des promesses pour gérer les fonctions MySQL

Node.js adopte la programmation asynchrone, nécessitant une approche différente pour renvoyer valeurs des fonctions. Pour s'adapter à ce modèle, cet article explique comment utiliser les promesses pour gérer les valeurs de retour MySQL dans Node.js.

Les promesses dans Node.js

Les promesses sont natives de JavaScript et fournit un moyen standardisé de gérer les opérations asynchrones. Ils permettent la création de « promesses » qui peuvent représenter le résultat éventuel d'une opération asynchrone (par exemple, une requête de base de données).

Adapter une fonction MySQL pour renvoyer une promesse

Considérez la fonction MySQL suivante tentant de renvoyer une valeur :

function getLastRecord(name) {
  // Code for query execution goes here
}

var rows = getLastRecord('name_record');

console.log(rows); // Won't work due to asynchronous nature

Pour que cela fonctionne, nous devons convertir la fonction en une fonction basée sur la promesse :

function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    // Code for query execution goes here

    if (err) {
      return reject(err);
    }
    resolve(rows);
  });
}

Gestion de la valeur renvoyée

Avec la fonction renvoyant une promesse, vous pouvez désormais enchaîner les opérations pour gérer le résultat :

getLastRecord('name_record').then((rows) => {
  // Now you have your rows, you can see if there are <20 of them
}).catch((err) => {
  // Handle errors here
});

Utilisation alternative

Si vous souhaitez vérifier immédiatement si la valeur renvoyée est supérieure à 20, vous pouvez utiliser :

if (await getLastRecord() > 20) {
  console.log("action");
}

Remarque : Ce code repose sur la version Node.js 8 ou version ultérieure pour la prise en charge asynchrone/attente.

Conclusion

Les promesses fournissent un moyen structuré et lisible de gérer les opérations asynchrones dans Node.js. En tirant parti des promesses, vous pouvez enchaîner les opérations et gérer les résultats réussis et infructueux de manière cohérente.

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!

Déclaration:
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