¿Cómo usar promesas dentro de la aplicación Express?
-
21-12-2019 - |
Pregunta
Estoy tratando de usar una promesa dentro de la función App.Get que ejecutará una consulta que se ejecutará en una promesa.Pero el problema es que la respuesta no espera la promesa y solo responde.
¿Alguna idea de cómo el código debería ser una promesa que puede vivir dentro de App.Get en Express App?
Solución
app.get('/test', function (req, res) {
db.getData()
.then(function (data) {
res.setHeader('Content-Type', 'text/plain');
res.end(data);
})
.catch(function (e) {
res.status(500, {
error: e
});
});
});
Otros consejos
Aquí hay una respuesta de la Documentación expresa :
app.get('/', function (req, res, next) {
// do some sync stuff
queryDb()
.then(function (data) {
// handle data
return makeCsv(data)
})
.then(function (csv) {
// handle csv
})
.catch(next)
})
app.use(function (err, req, res, next) {
// handle error
})
Es notable principalmente para pasar next
mediante .catch()
para que una ruta de manejo de errores comunes pueda encapsular la lógica de manejo de errores.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow