Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

286
Vistas
¿Cómo obtener todas las filas en la función recursiva llamando en mysql2 y Nodejs?

soy nuevo en Javascript. Estoy tratando de obtener todas las filas y sus filas principales con promesa y espera asíncrona

aquí está mi código

 const e = require('express') const mysql2 = require('mysql2') const pool = mysql2.createPool({ host: '127.0.0.1', user: 'root', password: '', database: 'dreamselling', waitForConnections: false, connectionLimit: 10, queueLimit: 0 }) let levels=[]; const getLevel = (id,levels) => { return new Promise((resolve, reject) => { let sql = `select id,memberName,parent_id from member_table where id=${id}`; pool.getConnection((error, connection) => { connection.query(sql, (err, rows) => { if (rows && rows[0].parent_id != null) { // console.log(rows[0]); levels.push((rows[0])) getLevel(rows[0].parent_id,levels) } else { pool.end() } }) }) }) } async function myfunc() { let a = await getLevel(7) console.log(levels); // console.log('level',a); } myfunc()

Puedo ver las filas con console.log(filas[0]) pero no puedo regresar de la función. Necesito ayuda sobre esto.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intente usar async await await como lo sugiere @robertklep.
Además, asegúrese de utilizar una declaración preparada :

 const e = require('express'); const mysql2 = require('mysql2'); const pool = mysql2.createPool({ host: '127.0.0.1', user: 'root', password: '', database: 'dreamselling', waitForConnections: false, connectionLimit: 10, queueLimit: 0, }); let levels = []; const getLevel = async (id, levels) => { const promisePool = pool.promise(); const [rows, fields] = await promisePool.query( 'select id,memberName,parent_id from member_table where id = ?', [id] ); if (rows && rows[0].parent_id !== null) { levels.push(rows[0]); getLevel(rows[0].parent_id, levels); } else { pool.end(); } }; function myfunc() { getLevel(7); console.log(levels); } myfunc();
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda