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

117
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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