⊗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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан