Sobes.tech
Junior

Πώς μπορείτε να χειριστείτε ένα σφάλμα (reject) μιας υπόσχεσης σε μια ασύγχρονη λειτουργία;

sobes.tech AI

Απάντηση από AI

Μπορείτε να χρησιμοποιήσετε το try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() μπορεί να επιστρέψει μια υπόσχεση που απορρίπτεται
    console.log('Τα δεδομένα λήφθηκαν με επιτυχία:', result);
  } catch (error) {
    console.error('Σφάλμα κατά την λήψη δεδομένων:', error);
    // Εδώ μπορείτε να εκτελέσετε πρόσθετες ενέργειες για την διαχείριση του σφάλματος
    // Για παράδειγμα, να εμφανίσετε μήνυμα στον χρήστη ή να καταγράψετε ένα log
  }
}

// Εναλλακτικός τρόπος με .catch() (λιγότερο διαδεδομένος στο async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Τα δεδομένα λήφθηκαν με επιτυχία:', result);
    })
    .catch(error => {
      console.error('Σφάλμα κατά την λήψη δεδομένων:', error);
    });
}

Η χρήση του try...catch είναι πιο προτιμώμενη και ιδιωματική για το async/await. Επιτρέπει την κεντρική διαχείριση σφαλμάτων σε ένα μπλοκ και φαίνεται πιο συγχρονικό.