⊗jsSpPrmEx 163 of 294 menu

Исклучителни ситуации во промисите во JavaScript

Ајде сега да научиме како да ги обработуваме исклучителните ситуации што се случиле внатре во промис. Во случај на појава на ваква ситуација, мораме да го одбиеме промисот со помош на специјална функција за одбивање, која автоматски се наоѓа во вториот параметар на функцијата на промисот:

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

Внатре во функцијата на промисот мораме да ја повикаме resolve, ако сè поминало нормално, или reject, ако се појавила исклучителна ситуација:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // податоци на промисот } else { reject('error in promise'); // вашиот текст на грешка } }, 3000); });

Потоа во методот then како параметри треба да пренесете не една, туку две функции: првата ќе работи, ако промисот работел нормално (се разреши), а втората - ако работел со грешка (се одби):

promise.then( function(result) { console.log(result); // ќе го испечати резултатот од промисот }, function(error) { console.log(error); // ќе го испечати текстот на грешката } );

Како по правило, горенаведениот код се запишува покомпактно, вака:

promise.then(function(result) { console.log(result); // ќе го испечати резултатот од промисот }, function(error) { console.log(error); // ќе го испечати текстот на грешката });

Направете асинхронен код што ќе генерира случајни броеви од 0 до 5. Запазете сето ова во промис. Нека промисот со својот резултат го враќа резултатот од делење на единицата со генерираниот број. Нека промисот се изврши со грешка, ако се случило делење со нула, и со успех во сите други случаи.

Македонски
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
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј