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

121
Visualizações
Valor de retorno expreso del método con devolución de llamada

¿Por qué esto

 router.get('/eventTest/:id', function (req, res) { var event = Event.getEventById(req.params.id, function (err, rows) { if(err) { return err; } else { return rows; } }); res.json(event);

});

devuelve { "domain": null, "_events": {}, "_eventsCount": 0, "_callSite": {}, "_ended": false, "_idleNext": null, "_idlePrev": null, "_idleStart": null, "_idleTimeout": -1, "_repeat": null, "sql": "select * from event where id=?", "values": [ "1" ], "typeCast": true, "nestTables": false, "_resultSet": null, "_results": [], "_fields": [], "_index": 0, "_loadError": null }

esto y ejemplo de uno de los métodos que estoy llamando

`getEventById:función(id,devolución de llamada){

 return db.query("select * from event where id=?",[id],callback); }

`

en lugar de los valores reales como lo hace cuando uso res.json (filas) dentro de la devolución de llamada Event.getEventById?

Necesito esto para llamar a varios métodos y agregarlos a un objeto y luego enviar ese objeto en JSON

Gracias

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

0

Según su código, sí, necesita enviar una respuesta desde el método.

Dado que la naturaleza de Node.js es async , debe escribir su código de esa manera

Pruébalo en tu ruta

 Event.getEventById(req.params.id, function (err, rows) { if(err) { res.status(500).send(err); } else { res.status(200).send(rows); } });

ACTUALIZAR

Para ejecutar múltiples métodos y enviar todos los registros al mismo tiempo, luego siga

módulo asíncrono o promesa

about 4 years ago · Santiago Trujillo Relatório

0

Probé "express-promise" así:

 `router.get('/eventTest/:id', function (req, res) { res.json({ details: Event.getEventById(req.params.id), stages: Event.getEventStages(req.params.id) }); });`

y todavía obtuve el mismo resultado (es decir, la consulta y no los valores). Supongo que mi problema es la forma en que administro las devoluciones de llamada de los métodos. ¿Es esto correcto?

about 4 years ago · Santiago Trujillo Relatório

0

router.get('/eventTest/:id', function (req, res, next) { Event.getEventById(req.params.id, function (err, rows) { if(err) return next(err); res.json(rows); }); });
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