Domanda

Sto cercando di usare una promessa all'interno della funzione App.Get che eseguirà una query che verrà eseguita su una promessa.Ma il problema è che la risposta non aspetta la promessa e risponde solo.

Qualche idea come il codice dovrebbe quindi essere una promessa può vivere all'interno di app.Get in App App?

È stato utile?

Soluzione

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
        });
    });
});
.

Altri suggerimenti

Ecco una risposta da Documentazione espressa :

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
})
.

È notevole principalmente per il passaggio del generatore di generazioneGode attraverso next in modo che un percorso di gestione degli errori comuni possa incapsulare errori handling logic downstream.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top