Middle
Μπορείτε να χειριστείτε την κατάσταση rejected μιας υπόσχεσης μέσα στο then; Ποια είναι η διαφορά μεταξύ του χειρισμού reject στο δεύτερο callback του then και στο catch;
sobes.tech AI
Απάντηση από AI
Ναι, μέσα στο then μπορείς να χειριστείς την απορριφθείσα κατάσταση περνώντας ένα δεύτερο callback στο then:
promise.then(
result => { /* επεξεργασία επιτυχούς αποτελέσματος */ },
error => { /* επεξεργασία σφάλματος */ }
);
Η διαφορά μεταξύ του χειρισμού reject στο δεύτερο callback του then και στο catch:
- Το δεύτερο callback του then χειρίζεται μόνο σφάλματα που προκύπτουν στην αρχική υπόσχεση.
- Το catch πιάνει σφάλματα που προκύπτουν τόσο στην αρχική υπόσχεση όσο και σε οποιοδήποτε προηγούμενο then, αν δεν έχουν χειριστεί.
Επομένως, το catch είναι πιο βολικό για κεντρική διαχείριση σφαλμάτων, και το δεύτερο callback του then για τοπική διαχείριση συγκεκριμένων σφαλμάτων της υπόσχεσης.