⊗jsSpPrmEx 163 of 294 menu

JavaScript-da Promise-lardagi Istisnolar

Keling, endi promise ichida yuz bergan istisno holatlarini qanday boshqarishni o'rganaylik. Bunday holat yuz berganda, biz promise-ni maxsus rad etish funktsiyasi yordamida rad etishimiz kerak, bu funktsiya avtomatik ravishda promise funktsiyasining ikkinchi parametriga kiradi:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { ... }, 3000); });

Promise funktsiyasi ichida biz hamma narsa normal o'tganda resolve ni, yoki istisno holati yuz berganda reject ni chaqirishimiz kerak:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // promise ma'lumotlari } else { reject('promise-dagi xatolik'); // xatolik matni } }, 3000); });

Keyin then metodida parametrlar sifatida siz bitta emas, balki ikkita funktsiyani o'tkazishingiz kerak: birinchi funktsiya promise muvaffaqiyatli bajarilganda (resolve bo'lganda) ishlaydi, ikkinchisi esa xatolik bilan bajarilganda (reject bo'lganda) ishlaydi:

promise.then( function(result) { console.log(result); // promise natijasini chiqaradi }, function(error) { console.log(error); // xatolik matnini chiqaradi } );

Qoida tariqasida, yuqoridagi kod odatda ancha ixcham tarzda quyidagicha yoziladi:

promise.then(function(result) { console.log(result); // promise natijasini chiqaradi }, function(error) { console.log(error); // xatolik matnini chiqaradi });

0 dan 5 gacha tasodifiy sonlar generatsiya qiladigan asinxron kod yarating. Hammasini promise ichiga o'rashing. Promise natija sifatida birni generatsiya qilingan songa bo'lish natijasini qaytarsin. Agar nolga bo'lish sodir bo'lsa, promise xatolik bilan, aks holda muvaffaqiyatli bajarilsin.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish