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>
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>
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!