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

142
Vistas
Combinar función asíncrona y consulta sql

Soy nuevo en las funciones asíncronas y estoy luchando para que funcione con consultas de base de datos... Esto es lo que tengo:

 fetch: async (id) => { if (id!=='something') { return await db.getConnection().query("SELECT user FROM `table` WHERE id='" + id + "'", function (err, result) { if (err) { throw err } else { console.log(result[0].user); return result[0].user; } }); } throw new Error('Failed fetching installation'); }

Esto da como resultado un error: Cannot read property 'user' of undefined , pero después de este error, aparece console.log indicando que el result[0] está realmente definido.

Entonces, supongo que no está esperando el resultado o algo así (aunque no está presionando el throw new Error ). De todos modos, estoy seguro de que esto es solo porque no lo estoy haciendo bien ... como dije, solo estoy comenzando con este tipo de comportamientos asincrónicos.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como se mencionó anteriormente, está mezclando promesas y devoluciones de llamada. No estoy seguro de si mi ejemplo a continuación es posible con su biblioteca de base de datos, pero creo que si lo es, es un enfoque mucho más limpio.

 const fetch = async (id) => { if (id !== 'something') { try { const query = await db .getConnection() .query("SELECT user FROM `table` WHERE id='" + id + "'") return query[0].user } catch (error) { console.log(error) throw new Error(`Execution of query failed with error: ${error}`) } } throw new Error('Failed fetching installation') } const user = fetch('your-id') // (prefix fetch with await if not at top level)
about 4 years ago · Juan Pablo Isaza 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