Uvamizi Kamili wa Makosa ya AJAX katika JavaScript

Ahadi promise ambayo inarudisha fetch, inakamilika kwa hitilafu, ikiwa tu kosa la mtandao limetokea. Ikiwa seva imerudisha jibu na hali status ya 404 au 500, basi ahadi itakamilika kwa mafanikio, lakini wakati huo hali ok itakuwa imewekwa kuwa false.

Wacha tuvamie aina zote mbili za makosa:

javascriptbutton.addEventListener('click', function() {
  let promise = fetch('/ajax.html')
  .then(
    response => {
      if (response.ok) {
        return response.text();
      } else {
        console.log('hali mbaya ya jibu');
        return '';
      }
    },
  ).then(
    text => {
      console.log(text);
    }
  ).catch(
    error => {
      console.log(error);
    }
  );
});

Wacha tufanye ili kosa linalohusiana na hali duni ya jibu la HTTP pia lisakwe na kizuizi catch. Ili kufanya hivyo, tutaikwenda mbali zaidi kupitia throw:

javascriptbutton.addEventListener('click', function() {
  let promise = fetch('/ajax.html')
  .then(
    response => {
      if (response.ok) {
        return response.text();
      } else {
        throw new Error('hali mbaya ya jibu');
      }
    },
  ).then(
    text => {
      console.log(text);
    }
  ).catch(
    error => {
      console.log(error);
    }
  );
});
Задание 1

Onyesha maandiko ya ukurasa, ikiwa ombi lilifanikiwa, na kosa, ikiwa kitu kibaya kimetokea.