Sobes.tech
Middle

Cosa succede se non gestisci gli errori in una Promise (senza .catch)?

sobes.tech AI

Risposta dell'AI

Se un errore in una Promise non viene gestito con .catch(), l'errore rimarrà non gestito. In ambienti moderni (ad esempio browser o Node.js), ciò comporterà un avviso o un errore di "Rifiuto di Promise non gestito".

Conseguenze:

  • Nel browser, potrebbe apparire un messaggio nella console che indica che l'errore non è stato gestito.
  • In Node.js, i rifiuti di Promise non gestiti possono portare alla terminazione del processo con un errore (a seconda della versione e delle impostazioni).

Questa è una cattiva pratica, poiché gli errori possono passare inosservati, rendendo difficile il debug e potenzialmente causando comportamenti imprevedibili dell'applicazione.

Esempio di gestione corretta:

fetch('/api/data')
  .then(response => response.json())
  .catch(error => {
    console.error('Errore nel caricamento dei dati:', error);
  });