Junior
Come gestire un errore (reject) di una promessa in una funzione asincrona?
sobes.tech AI
Risposta dell'AI
È possibile usare try...catch.
async function processData() {
try {
const result = await fetchData(); // fetchData() può restituire una promessa che viene rifiutata
console.log('Dati ottenuti con successo:', result);
} catch (error) {
console.error('Errore nel recupero dei dati:', error);
// Qui si possono eseguire azioni aggiuntive per gestire l'errore
// Ad esempio, mostrare un messaggio all'utente o registrare un log
}
}
// Metodo alternativo con .catch() (meno comune in async/await)
async function processDataAlt() {
await fetchData()
.then(result => {
console.log('Dati ottenuti con successo:', result);
})
.catch(error => {
console.error('Errore nel recupero dei dati:', error);
});
}
L'uso di try...catch è più preferito e idiomatico per async/await. Permette di centralizzare la gestione degli errori in un unico blocco e appare più sincrono.