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

တောင်းဆိုမှု အောင်မြင်ပါက စာမျက်နှာ၏ စာသားကို ထုတ်ပြပါ၊ တစ်ခုခု မှားယွင်းသွားပါက အမှားကို ထုတ်ပြပါ။