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. Επιτρέπει την κεντρική διαχείριση σφαλμάτων σε ένα μπλοκ και φαίνεται πιο συγχρονικό.