⊗jsSpPrmAr 170 of 294 menu

Kufanya Kazi na Arrays ya Ahadi (Promises) katika JavaScript

Sasa tutachambua mbinu mbili muhimu, zinazoruhusu kufanya kazi na arrays za ahadi (promises). Mbinu Promise.all inaruhusu kutekeleza mshindi baada ya kukamilika kwa ahadi zote, zilizopitishwa kwake kwa njia ya array, na mbinu Promise.race inasubiri kushughulikiwa kwa ahadi ya kwanza kutoka kwenye array, ikiacha zingine.

Mbinu zote mbili hurejesha ahadi mpya kama matokeo yao. Kwa mbinu Promise.all matokeo ya ahadi hii yatakuwa array ya matokeo ya ahadi zote zilizopitishwa (mpangilio wa matokeo unafanana na mpangilio wa ahadi kwenye array), na kwa Promise.race - matokeo ya ahadi ya kwanza kushughulikiwa.

Wacha tuone kwa vitendo. Hebu tuseme tuna array ya ahadi (promises):

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

Wacha tutumie Promise.all kusubiri kukamilika kwa upakiaji wa ahadi zote kutoka kwenye array yetu:

Promise.all(promises).then(function(res) { console.log(res); // itatoa [1, 2, 3] - matokeo ya ahadi zote });

Na sasa kwa kutumia Promise.race tusubiri kukamilika kwa upakiaji wa ahadi ya kwanza:

Promise.race(promises).then(function(res) { console.log(res); // itatoa 1 - matokeo ya ahadi ya kwanza kushughulikiwa });

Ikiwa angalau moja ya ahadi kwenye array itakataliwa, basi ahadi iliyo na matokeo mara moja itahamia kwenye hali ya rejected. Kwa hivyo isipokuwa lilotokea linaweza kukamatwa kwa kawaida, kama tayari umejifunza, kwa mfano, kupitia catch:

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

Tengeneza kitendakazi, kinachorejesha ahadi (promise), ndani ambayo imewekwa ucheleweshaji nasibu kutoka 1 hadi 10 sekunde. Acha matokeo yake ahadi irejeshe ucheleweshaji huu. Kwa kutumia kitanzi na kitendakazi chako jaza array na ahadi 10.

Kwa kutumia array ya ahadi kutoka kwenye kazi iliyopita fanya hivi, ili matokeo ya ahadi ya kwanza kushughulikiwa iyatokwe kwenye konsoli.

Kwa kutumia array ya ahadi kutoka kwenye kazi iliyopita fanya hivi, ili jumla ya matokeo ya ahadi zote iyatokwe kwenye konsoli.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa