Aprovechando las promesas para procesar los valores de retorno de MySQL en Node.js
En la transición de Python a Node.js, la naturaleza asincrónica de Node. js puede presentar desafíos. Considere un escenario en el que necesita devolver un valor de una función MySQL, como getLastRecord(name).
Tradicionalmente, Node.js usa devoluciones de llamada para operaciones asincrónicas. Sin embargo, para manejar la naturaleza asincrónica de getLastRecord(), aprovecharemos Promises.
Para implementar la función usando una Promesa:
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 }); }
Para manejar el valor devuelto, puede encadenar devoluciones de llamada .then() y .catch() a la Promesa:
getLastRecord('name_record') .then((rows) => { // Handle returned rows here console.log(rows); }) .catch((err) => { // Handle errors here console.log(err); });
También puede implementar la verificación condicional:
getLastRecord('name_record') .then((rows) => { if (rows.length > 20) { console.log('action'); } });
Al adoptar Promesas en este escenario, se introduce un enfoque más estructurado y legible para manejar operaciones asincrónicas, lo que garantiza una base de código más limpia y fácil de mantener.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3