⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј