Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

137
Visualizações
Cómo obtener datos desde dentro de una función de respuesta en Nods js

Soy un nuevo usuario de Nodejs y Javascript

tengo esta clase:

 class Users { constructor() { this.all; this.selectAll(); } async selectAll() { await connection.connect(() => connection.query(`SELECT * FROM users`, (err, result) => { this.setData(result); }), ); } setData(res) { this.all = res; } }

Quiero obtener el resultado de los datos de la función de respuesta selectAll() ; por ejemplo:

 var db = new Users(); console.log(db.all);

Esperaba que db.all me diera el resultado de selectAll()

¿Hay alguna idea mejor?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Desea esperar esto. this.selectAll ya que es una promesa. Por lo tanto, debe asegurarse de que devuelva una promesa. Puede hacer que el constructor sea asíncrono para esperar el selectAll pero esto no se recomienda y probablemente no funcionará.

Personalmente, solo llamaría a db.selectAll después de crear la instancia de usuarios.

Tal vez algo como esto:

Archivo: Users.js

 export class Users { all = null async selectAll() { return connection.connect(() => connection.query(`SELECT * FROM users`, (err, result) => { this.setData(result); }) ); } setData(res) { this.all = res; } }

Archivo: index.js (o en cualquier otro lugar)

 import { Users } from './Users.js' // Somewhere else in your code in an async function: const anotherPlace = async () => { const db = new Users(); await db.selectAll(); console.log(db.all) }
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda