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

99
Views
Devolver el resultado de la promesa resuelta a través del enrutador Express

Estoy intentando configurar una API que se extrae de una base de datos de Azure utilizando la biblioteca tediosa.

Tengo una función queryDatabase() que envía una consulta de selección a una base de datos SQL de Azure. Envía la solicitud de consulta y luego devuelve una Promesa esperando la respuesta de la base de datos:

 function queryDatabase(){ const request = new Request( `select * from [dbo].[table1];`, (err, rowCount) => { if (err) { console.error(err.message); } } ); return new Promise((resolve,reject)=>{ const result = []; request.on("row", (columns) => { const entry = {}; columns.forEach((column) => { entry[column.metadata.colName] = column.value; }); result.push(entry); }); request.on('done',()=>resolve(result)); // resolve the promise with the result rows. request.on('error',error=>reject(error));// some error happened, reject the promise connection.execSql(request); }); }

Luego, para el uso, tengo un enrutador escuchando /datos que se supone que debe llamar al método queryDatabase() y esperar a que se cumpla la Promesa. Una vez que se cumple, debe responder con los datos en formato JSON, sin embargo, la Promesa de queryDatabase() nunca parece cumplirse ni fallar, ya que la página se atasca al cargar:

 router.get("/data", cors(), function (req, res) { queryDatabase().then(rows=>{ res.type('application/json'); res.send(JSON.stringify(rows)); }) .catch(error=>{ res.status(500); res.render('error, ', {error: error}); }); });

Cualquier ayuda sobre por qué no funciona correctamente sería increíble, saludos

about 4 years ago · Juan Pablo Isaza
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!