Как пользоваться обещаниями Внутри App Express App?
-
21-12-2019 - |
Вопрос
Я пытаюсь использовать обещание внутри функции app.get, которая будет запускать запрос, который будет работать по обещанию.Но проблема заключается в том, что ответ не ждет обещания и просто отвечает обратно.
Любое представление о том, как код должен, чтобы обещание может жить в App.get в Express App?
Решение
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
});
});
});
. Другие советы
Вот ответ от Экспресс-документация :
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
})
.
Известен в основном для прохождения генеракодицетагкода через next
, чтобы обычный маршрут обработки ошибок может инкапсулировать ошибку.
Не связан с StackOverflow