JavaScript-ում AJAX սխալների ամբողջական բռնում

fetch-ի կողմից վերադարձված Promise-ը սխալով է ավարտվում միայն այն դեպքում, եթե առաջացել է ցանցի սխալ: Եթե սերվերը պատասխանել է 404 կամ 500 կարգավիճակով, ապա Promise-ը կհամարվի հաջողակ ավարտված, սակայն 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 պատասխանի վատ կարգավիճակի հետ կապված սխալը նույնպես բռնվի 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

Ցուցադրեք էջի տեքստը, եթե հարցումը հաջող էր, և սխալը, եթե