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. Imaginez 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 }); }
Pour gérer la valeur renvoyée, vous pouvez enchaîner les 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); });
Vous pouvez également implémenter la vérification conditionnelle :
getLastRecord('name_record') .then((rows) => { if (rows.length > 20) { console.log('action'); } });
En adoptant Promises dans ce scénario, vous introduisez une approche plus structurée et plus lisible de la gestion des opérations asynchrones, garantissant une base de code plus propre et plus maintenable.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3