Вопрос

Я пытаюсь использовать обещание внутри функции 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, чтобы обычный маршрут обработки ошибок может инкапсулировать ошибку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top