⊗jsSpAXFCE 248 of 294 menu

Поўны перахоп AJAX памылак у JavaScript

Проміс, які вяртае 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); } ); });

Выведзіце тэкст старонкі, калі запыт быў паспяховым, і памылку, калі нешта пайшло не так.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць