⊗jsSpPrmAr 170 of 294 menu

Puna me vargje premtimesh në JavaScript

Tani do të shqyrtojmë dy metoda të dobishme, që lejojnë punën me vargje premtimesh. Metoda Promise.all lejon ekzekutimin e kodit pas përfundimit të të gjitha premtimeve, të transmetuara në të në formë vargu, ndërsa metoda Promise.race pret ngarkimin e premtimit të parë nga vargu, duke hedhur poshtë pjesën tjetër.

Të dy metodat kthejnë si rezultat një premtim të ri. Për metodën Promise.all rezultati i këtij premtimi do të jetë një varg i rezultateve të të gjitha premtimeve të transmetuara (rendi i rezultateve korrespondon me rendin e premtimeve në varg), ndërsa për Promise.race - rezultati i parë i premtimit që funksionoi.

Le të shohim në praktikë. Le të supozojmë se kemi një varg premtimesh:

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

Le të përdorim Promise.all për të pritur përfundimin e ngarkimit të të gjitha premtimeve nga vargu ynë:

Promise.all(promises).then(function(res) { console.log(res); // do të shfaqë [1, 2, 3] - rezultatet e të gjitha premtimeve });

Dhe tani le të përdorim Promise.race për të pritur përfundimin e ngarkimit të premtimit të parë:

Promise.race(promises).then(function(res) { console.log(res); // do të shfaqë 1 - rezultati i premtimit të parë që u ekzekutua });

Nëse të paktën një nga premtimet në varg do të refuzohet, atëherë premtimi me rezultat menjëherë do të kalojë në gjendjen rejected. Prandaj përjashtimi i lindur mund të kapet në mënyrë të zakonshme, tashmë të studiuar nga ju, për shembull, përmes catch:

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

Krijoni një funksion që kthen një premtim, brenda të cilit është vendosur një vonesë e rastësishme nga 1 deri në 10 sekonda. Le të kthejë si rezultat i premtimit këtë vonesë. Duke përdorur ciklin dhe funksionin tuaj, plotësoni vargun me 10 premtime.

Duke përdorur vargun e premtimeve nga detyra e mëparshme bëni që në konsol të shfaqet rezultati i premtimit të parë që funksionoi.

Duke përdorur vargun e premtimeve nga detyra e mëparshme bëni që në konsol të shfaqet shuma e rezultateve të të gjitha premtimeve.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo