⊗jsSpPrmAr 170 of 294 menu

პრომისების მასივებთან მუშაობა JavaScript-ში

ახლა ჩვენ გავაანალიზებთ ორ სასარგებლო მეთოდს, რომლებიც საშუალებას გვაძლევს ვიმუშაოთ პრომისების მასივებთან. მეთოდი Promise.all საშუალებას გვაძლევს შევასრულოთ კოდი ყველა პრომისის დასრულების შემდეგ, რომლებიც მას გადაეცა მასივის სახით, ხოლო მეთოდი Promise.race ელოდება მასივიდან პირველი პრომისის დასრულებას, გაუქმებდა დანარჩენებს.

ორივე მეთოდი თავის შედეგად აბრუნებს ახალ პრომისს. მეთოდის Promise.all შემთხვევაში ამ პრომისის შედეგი იქნება ყველა გადაცემული პრომისის შედეგების მასივი (შედეგების თანმიმდევრობა შეესაბამება პრომისების თანმიმდევრობას მასივში), ხოლო Promise.race - პირველი შესრულებული პრომისის შედეგი.

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

let promises = [ new Promise(resolve => setTimeout(() => resolve(1), 1000)), new Promise(resolve => setTimeout(() => resolve(2), 2000)), new Promise(resolve => setTimeout(() => resolve(3), 3000)), ];

მოდით Promise.all-ის საშუალებით ვიცადოთ ჩვენი მასივის ყველა პრომისის დასრულებას:

Promise.all(promises).then(function(res) { console.log(res); // გამოიტანს [1, 2, 3] - ყველა პრომისის შედეგები });

ახლა კი Promise.race-ის საშუალებით ვიცადოთ პრომისებიდან პირველის დასრულებას:

Promise.race(promises).then(function(res) { console.log(res); // გამოიტანს 1 - პირველი შესრულებული პრომისის შედეგი });

თუ მასივში ერთი არანაკლებ პრომისი უარყოფილი იქნება, მაშინ პრომისი შედეგით მაშინვე გადავა მდგომარეობაში rejected. ამიტომ წარმოქმნილი გამონაკლისი შეგვიძლია დავიჭიროთ ჩვეულებრივი, უკვე თქვენ მიერ შესწავლილი გზით, მაგალითად, catch-ის საშუალებით:

Promise.all(promises).then(function(res) { console.log(res); }).catch(function(err) { console.log(err); });

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

წინა ამოცანის პრომისების მასივის გამოყენებით გააკეთეთ ისე, რომ კონსოლში გამოიყვანოს პირველი შესრულებული პრომისის შედეგი.

წინა ამოცანის პრომისების მასივის გამოყენებით გააკეთეთ ისე, რომ კონსოლში გამოიყვანოს ყველა პრომისის შედეგების ჯამი.

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