⊗jsSpPrmEx 163 of 294 menu

Erandolukorrad JavaScript'i lubadustes

Õpime nüüd töötlema erandolukordi, mis on tekkinud lubaduse sees. Sellise olukorra tekkimisel peame lubaduse tagasi lükkama spetsiaalse tagasilükkamise funktsiooni abil, mis automaatselt satub lubaduse funktsiooni teise parameetrisse:

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

Lubaduse funktsiooni sees peame kutsuma resolve, kui kõik läks tavapäraselt, või reject, kui tekkis erandolukord:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // lubaduse andmed } else { reject('error in promise'); // teie veatekst } }, 3000); });

Seejärel meetodis then peaksite parametritena edastama mitte ühe, vaid kaks funktsiooni: esimene töötab, kui lubadus töötas tavapäraselt (resolved), ja teine - kui töötas veaga (rejected):

promise.then( function(result) { console.log(result); // kuvab lubaduse tulemuse }, function(error) { console.log(error); // kuvab veateksti } );

Reeglina kirjutatakse ülaltoodud kood kompaktsemalt, niimoodi:

promise.then(function(result) { console.log(result); // kuvab lubaduse tulemuse }, function(error) { console.log(error); // kuvab veateksti });

Koostage asünkroonne kood, mis genereerib juhuslikke numbreid 0 kuni 5. Mähige kõik see lubadusse. Olgu lubaduse tulemuseks ühe jagamise tulemus genereeritud numbriga. Olgu lubadus täidetud veaga, kui toimub jagamine nulliga, ja edukalt kõigil muudel juhtudel.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu