⊗jsSpPrmAr 170 of 294 menu

JavaScript-da promises massiwleri bilen işlemek

Häzir biz promises massiwleri bilen işlemäge mümkinçilik berýän iki peýdaly usulyny çözüp göreris. Promise.all usuly ona massiw görnüşinde berlen ähli promisesleriň tamamlanmagyna garaşmagy mümkin edýär, Promise.race usuly bolsa massiwden ilkinji promisesiň ýerine ýetirilmegine garaşýar, galanlary bolsa taşlaýar.

Her iki usul öz netijesi hökmünde täze promises gaýtarýar. Promise.all usuly üçin bu promisesiň netijesi berlen ähli promisesleriň netijeleriniň massiwy bolar (netijeleriň tertibi massiwdäki promisesleriň tertibine gabat gelýär), Promise.race üçin bolsa birinji işjeňleşen promisesiň netijesi bolar.

Amaly işde göreli. Bizde promises massiwy bardygynda:

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

Geliň Promise.all kömegi bilen bizim massiwymyzdyň ähli promisesleriniň ýüklenişiniň tamamlanmagyna garaşalyň:

Promise.all(promises).then(function(res) { console.log(res); // [1, 2, 3] - ähli promisesleriň netijelerini çap eder });

Indi bolsa Promise.race kömegi bilen birinji promisesiň ýüklenişiniň tamamlanmagyna garaşalyň:

Promise.race(promises).then(function(res) { console.log(res); // 1 - birinji ýerine ýetirilen promisesiň netijesini çap eder });

Eger massiwdäki promiseslerden birem-de ret edilse, netijeli promises derrew rejected ýagdaýyna geçer. Şonuň üçin ýüze çykan ýalňyşlygy adaty, eýýäm öwrenilen usulyňyz bilen, mysal üçin catch arkaly ýakalap bolýar:

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

Içinde 1 sekunddan 10 sekunda çenli tötänleýin gijikme bellenen promises gaýtaryan funksiýany ýasaň. Promises öz netijesi hökmünde şu gijikmegi gaýtarsyn. Tsiklik we funksiýaňyz arkaly massiwy 10 promises bilen dolduryň.

Öňki mesele promises massiwyndan peýdalanyp, birinji işjeňleşen promisesiň netijesi konsola çap ediljek ýaly ediň.

Öňki mesele promises massiwyndan peýdalanyp, ähli promisesleriň netijeleriniň jemi konsola çap ediljek ýaly ediň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et