Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

114
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!