JavaScript да AJAX хатоларини тўлиқ қулофлаш

fetch томонидан қайтариладиган промис, фақат тармок хатоси юз бергандагина хато билан тугайди. Агар сервер жавобни 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 жавобнинг ёмон статуси билан боглик хатолик ҳам 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

Агар сўров муваффақиятли бўлса, саҳифа матнини чиқаринг, ва агар бирор нарса нотўғри бўлса, хатоликни чиқаринг.