⊗jsSpPrmEx 163 of 294 menu

პრომისებში გამონაკლისი სიტუაციები JavaScript-ში

ახლა ვისწავლოთ თუ როგორ დავამუშაოთ პრომისის შიგნით წარმოშობილი გამონაკლისი სიტუაციები. ასეთი სიტუაციის წარმოქმნის შემთხვევაში ჩვენ უნდა უარვყოთ პრომისი სპეციალური უარყოფის ფუნქციის გამოყენებით, რომელიც ავტომატურად გადაეცემა პრომისის ფუნქციის მეორე პარამეტრს:

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

პრომისის ფუნქციის შიგნით ჩვენ უნდა გამოვიძახოთ resolve, თუ ყველაფერი ნორმალურად განვითარდა, ან reject, თუ წარმოიშვა გამონაკლისი სიტუაცია:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // პრომისის მონაცემები } else { reject('შეცდომა პრომისში'); // თქვენი შეცდომის ტექსტი } }, 3000); });

შემდეგ then მეთოდში პარამეტრებად თქვენ უნდა გადასცეთ არა ერთი, არამედ ორი ფუნქცია: პირველი იმუშავებს, თუ პრომისმა იმუშავა ნორმალურად (რეზოლვდება), ხოლო მეორე - თუ მუშაობდა შეცდომით (რეჯექტდება):

promise.then( function(result) { console.log(result); // გამოიტანს პრომისის შედეგს }, function(error) { console.log(error); // გამოიტანს შეცდომის ტექსტს } );

როგორც წესი, ზემოთ მოყვანილი კოდი იწერება უფრო კომპაქტურად, ასე:

promise.then(function(result) { console.log(result); // გამოიტანს პრომისის შედეგს }, function(error) { console.log(error); // გამოიტანს შეცდომის ტექსტს });

შექმენით ასინქრონული კოდი, რომელიც გენერირებს შემთხვევით რიცხვებს 0-დან 5-მდე. შემოახვიეთ ეს ყველაფერი პრომისში. პრომისმა თავისი შედეგით დააბრუნოს ერთეულის გაყოფის შედეგი გენერირებულ რიცხვზე. პრომისი დაასრულოს შეცდომით, თუ მოხდა გაყოფა ნულზე, და წარმატებით ყველა სხვა შემთხვევაში.

ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა