Ndërprerja e Plotë e Gabimeve AJAX në JavaScript
Premtimi që kthen fetch,
përfundon me gabim, vetëm nëse ka ndodhur
ndonjë gabim në rrjet. Nëse serveri kthen një përgjigje
me status 404 ose 500,
atëherë premtimi do të përfundojë me sukses,
por statusi ok do të jetë
vendosur në false.
Le të ndërpresim të dy llojet e gabimeve:
button.addEventListener('click', function() {
let promise = fetch('/ajax.html')
.then(
response => {
if (response.ok) {
return response.text();
} else {
console.log('status i keq i përgjigjes');
return '';
}
},
).then(
text => {
console.log(text);
}
).catch(
error => {
console.log(error);
}
);
});
Le ta bëjmë që gabimi, i lidhur
me statusin e keq të përgjigjes HTTP, gjithashtu
të kapet nga blloku catch.
Për këtë, do ta hedhim më tej
përmes throw:
button.addEventListener('click', function() {
let promise = fetch('/ajax.html')
.then(
response => {
if (response.ok) {
return response.text();
} else {
throw new Error('status i keq i përgjigjes');
}
},
).then(
text => {
console.log(text);
}
).catch(
error => {
console.log(error);
}
);
});
Shfaqni tekstin e faqes, nëse kërkesa ka qenë e suksesshme, dhe gabimin, nëse diçka shkoi keq.