JavaScript တွင် AJAX အမှားများကို အပြည့်အဝ စွက်ဖက် ဖမ်းယူခြင်း
fetch မှ ပြန်လာသော Promise သည်
ကြိုးမဲ့ဆက်သွယ်ရေး အမှား ဖြစ်ပွားမှသာ
အမှားဖြင့် ပြီးဆုံးပါသည်။ ဆာဗာမှ
အခြေအနေ 404 သို့မဟုတ် 500
ဖြင့် တုံ့ပြန်ချက် ပြန်ပို့ပါက၊
Promise သည် အောင်မြင်စွာ ပြီးဆုံးသော်လည်း
အဆိုပါ အခြေအနေ ok သည်
false အဖြစ် သတ်မှတ်ပါလိမ့်မည်။
အမှားအမျိုးအစား နှစ်မျိုးလုံးကို စွက်ဖက် ဖမ်းယူကြပါစို့။
button.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 မှတစ်ဆင့်
ယင်းကို ရှေ့ဆက် ပို့ဆောင်ပေးပါမည်။
button.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);
}
);
});
တောင်းဆိုမှု အောင်မြင်ပါက စာမျက်နှာ၏ စာသားကို ထုတ်ပြပါ၊ တစ်ခုခု မှားယွင်းသွားပါက အမှားကို ထုတ်ပြပါ။