Salve a tutti sto iniziando a programmare in Javascript Node Js.
sto cercando di comprendere async & await ora sono a chiedervi un consulto ho creato il seguente codice funzionante, volevo capire se ho compreso bene.
In questo modulo gestisco la richiesta al sql funzione asicrona
async function getContactsAllAnagrafica() {
try {
await sql.connect(config);
const result = await sql.query`SELECT * FROM Connector.AnagraficaConnector`;
return { status: 200, data: result.recordset};
}catch(err){
return { status: 500, data: { message: err.message}};
}finally{
sql.close();
}
}
Fondamentalmente restituisco un oggetto con la proprietà status che indica lo status della risposta http e la proprietà data che contiene l'oggetto della risposta o nel catch il messaggio di errore
In questo modulo gestisco le route
router.get("/allAnagrafica", (req, res) => {
getContactsAllAnagrafica().then((data) =>{
res.status(data.status).json(data.data);
})
});
Ora la domanda è la seguente:
Nella route devo utilizzare .then e non posso utilizzare async & await perchè sono già utilizzati nella funzione getContactsAllAnagrafica() ?
Quindi è corretto il codice che ho scritto perchè gestisco l'errore nella funzione getContactsAllAnagrafica() e nella route è sufficente .then() l'utilizzo di .catch() risulterebbe nullo in quanto gli errori vengono gestiti nella funzione getContactsAllAnagrafica() e la route di conseguenza elabora solo la risposta?
Un grazie anticipato