Πλήρης Διεξαγωγή Σφαλμάτων AJAX σε JavaScript

Η υπόσχεση που επιστρέφει η fetch, ολοκληρώνεται με σφάλμα, μόνο εάν προέκυψε σφάλμα δικτύου. Εάν όμως ο διακομιστής επέστρεψε απάντηση με status 404 ή 500, τότε η υπόσχεση θα ολοκληρωθεί με επιτυχία, αλλά ταυτόχρονα η ιδιότητα ok θα οριστεί σε false.

Ας πραγματοποιήσουμε διεξαγωγή και των δύο τύπων σφαλμάτων:

javascriptbutton.addEventListener('click', function() {
  let promise = fetch('/ajax.html')
  .then(
    response => {
      if (response.ok) {
        return response.text();
      } else {
        console.log('κακή κατάσταση απόκρισης');
        return '';
      }
    },
  ).then(
    text => {
      console.log(text);
    }
  ).catch(
    error => {
      console.log(error);
    }
  );
});

Ας κάνουμε έτσι ώστε το σφάλμα, που σχετίζεται με κακή κατάσταση HTTP απόκρισης, επίσης να πιάνεται από το block catch. Για αυτό, θα το προωθήσουμε παραπέρα μέσω throw:

javascriptbutton.addEventListener('click', function() {
  let promise = fetch('/ajax.html')
  .then(
    response => {
      if (response.ok) {
        return response.text();
      } else {
        throw new Error('κακή κατάσταση απόκρισης');
      }
    },
  ).then(
    text => {
      console.log(text);
    }
  ).catch(
    error => {
      console.log(error);
    }
  );
});
Задание 1

Εμφανίστε το κείμενο της σελίδας, εάν το αίτημα ήταν επιτυχές, και το σφάλμα, εάν κάτι πήγε στραβά.