⊗jsSpPrmEx 163 of 294 menu

Hali za Kipekee katika Ahadi (Promises) kwenye JavaScript

Hebu sasa tujifunze kushughulikia hali za kipekee zilizotokea ndani ya ahadi (promise). Kwa kesi ya kutokea kwa hali kama hiyo tunapaswa kukataa ahadi kwa kutumia kitendo maalum cha kukataa, ambacho huingia moja kwa moja kwenye kigezo cha pili cha kitendo cha ahadi:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { ... }, 3000); });

Ndani ya kitendo cha ahadi tunapaswa kuita resolve, ikiwa kila kitu kimeenda kawaida, au reject, ikiwa imetokea hali ya kipekee :

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // data ya ahadi } else { reject('error in promise'); // maandishi yako ya kosa } }, 3000); });

Kisha katika njia then vigezo unapaswa kupeleka si moja, bali vitendo viwili: ya kwanza itafanya kazi, ikiwa ahadi imefanya kazi kawaida (iliresolve), na ya pili - ikiwa imefanya kazi na kosa (ilireject):

promise.then( function(result) { console.log(result); // itaonyesha matokeo ya ahadi }, function(error) { console.log(error); // itaonyesha maandishi ya kosa } );

Kwa kawaida, msimbo ulioonyeshwa hapo juu huandikwa kwa muundo mfupi zaidi, kama hivi:

promise.then(function(result) { console.log(result); // itaonyesha matokeo ya ahadi }, function(error) { console.log(error); // itaonyesha maandishi ya kosa });

Tengeneza msimbo wa asynchronous ambao utazalisha nambari nasibu kutoka 0 hadi 5. Vifunge yote hii kwenye ahadi (promise). Na ahadi iwe na matokeo yake kirajeshe matokeo ya kugawanya moja kwa nambari iliyozalishwa. Na ahadi ifanikiwe na kosa, ikiwa imetokea mgawanyo kwa sifuri, na na mafanikio katika kesi zote nyingine.

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