जावास्क्रिप्ट में AJAX त्रुटियों का पूर्ण अवरोधन
प्रॉमिस जो fetch द्वारा लौटाया जाता है,
केवल तभी त्रुटि के साथ समाप्त होता है जब
नेटवर्क त्रुटि हुई हो। यदि सर्वर ने स्थिति
404 या 500 के साथ उत्तर दिया,
तो प्रॉमिस सफलतापूर्वक समाप्त होगा,
लेकिन स्थिति 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);
}
);
});
यदि अनुरोध सफल रहा तो पृष्ठ का पाठ प्रदर्शित करें, और यदि कुछ गलत हुआ तो त्रुटि प्रदर्शित करें।