Maison > base de données > tutoriel mysql > 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
Libérer: 2024-10-26 13:36:30
original
846 Les gens l'ont consulté

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

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

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

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

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!

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