"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo manejar los valores de retorno de MySQL de forma asincrónica en Node.js con promesas?

¿Cómo manejar los valores de retorno de MySQL de forma asincrónica en Node.js con promesas?

Publicado el 2024-11-09
Navegar:524

How to Handle MySQL Return Values Asynchronously in Node.js with Promises?

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.

Último tutorial Más>

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