Ako implementovať sľuby v JavaScripte?



Sľuby v jazyku JavaScript sa v zásade používajú na zvládnutie asynchrónnych operácií. Tento článok vám pomôže podrobne preskúmať tento koncept.

Sľuby v sa v zásade používajú na zvládnutie operácií asynchrónnych operácií. Prísľub je objekt, ktorý v budúcnosti môže vyprodukovať jedinú hodnotu: buď vyriešenú hodnotu, alebo chybu.

V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,





Začnime s týmto článkom o sľuboch v JavaScripte

Dôležitosť:

Sľuby sa hodia, keď je potrebné vyriešiť niekoľko asynchrónnych operácií. Pred zavedením sľubov v jazyku JavaScript sa na zvládnutie asynchrónnych operácií používali udalosti a funkcie spätného volania. Pretože udalosti nie sú v prípade asynchrónnych operácií veľmi užitočné, nie sú uprednostňované. Pri spätnom volaní by ich použitie v násobkoch spôsobilo taký neporiadok, že kódu by niekto veľmi ťažko porozumel.
Preto sú sľuby prvou voľbou každého programátora, ktorý pracuje s asynchrónnymi operáciami najjednoduchším spôsobom. Majú pokročilé funkcie, ktoré im uľahčujú zvládnutie operácií ako spätné volanie a udalosti.



  • Vďaka sľubom je kód čitateľný, čo znamená, že ho môžu editory upraviť aj v neskoršej fáze vývoja.
  • Asynchrónne operácie majú lepšiu manipuláciu v porovnaní so spätným volaním a udalosťami.
  • Pokročilé spracovanie chýb sa tiež považuje za dôležitú vlastnosť.
  • Existuje oveľa lepší tok definície riadenia v asynchrónnej podobe.

Pokračujeme týmto článkom o sľuboch v JavaScripte

Typ štátov:

Splnené: Súvisí s sľubmi, ktoré sú úspešné.
Zamietnuté: Súvisí s tými sľubmi, ktoré sú odmietnuté.
Čaká sa na: Súvisí s tými sľubmi, ktoré čakajú na prijatie, t. J. Ani odmietnuté, ani prijaté.
Vyrovnané: Súvisí s tými sľubmi, ktoré sa plnia alebo odmietajú.

Pokračujeme týmto článkom o sľuboch v JavaScripte



Tvorba sľubov

Sľub sa vytvára pomocou konštruktora sľubov.

Syntax:

varlib = nový sľub (funkcia (vyriešiť, odmietnuť) {// tu niečo urobte})

Parametre:
Konštruktor sľubu má jeden argument, funkciu spätného volania. Vo funkcii spätného volania sú dva argumenty, vyriešiť alebo odmietnuť. Operácie sa vykonávajú vo vnútri funkcií spätného volania, ak všetko prebehlo dobre, potom sa hovor vyrieši, inak sa hovor odmietne.

Pokračujeme týmto článkom o sľuboch v JavaScripte

Príklad 1:

varlib = nový sľub (funkcia (vyriešiť, odmietnuť) {/ * deklarovanie a definovanie dvoch premenných dátového typu const s rovnakým obsahom. * / const a = 'Ahoj! Volám sa Yash a zaujímam sa o informatiku.' const b = 'Ahoj! Volám sa Yash a zaujímam sa o informatiku.' // kontrola, či je obsah uložený v premenných rovnaký alebo nie, ak (a === b) {// volanie vyriešiť riešenie () } else {// volanie odmietnuť odmietnuť ()}}) sľub. potom (function () {console.log ('Promise Resolved !!')}). catch (function () {console.log ('Promise Rejected !!')})

Výkon:
Výstup - Sľuby v jazyku JavaScript - Edureka

Pokračujeme týmto článkom o sľuboch v JavaScripte

ako porovnať dva reťazce

Príklad 2:

varlib = nový sľub (funkcia (vyriešiť, odmietnuť) {// inicializácia dvoch premenných s celočíselnými hodnotami konšt x = 11 + 2 konšt y = 26/2 // kontrola, či sú obe premenné rovnaké alebo nie, ak (x === y ) {// volanie vyriešiť vyriešiť ()} else {// volanie odmietnuť odmietnuť ()}}) sľub. potom (function () {console.log ('Promise is Resolved !!')}). catch (function () {console.log ('Promise is Rejected !!')})

Výkon:

Pokračujeme týmto článkom o sľuboch v JavaScripte

Príklad 3:

var Promise = new Promise (funkcia (vyriešiť, odmietnuť) {const i = 'Hello' const a = 'World' // vykonávanie pridania dvoch premenných na uloženie hodnoty do inej premennej const j = i + a if ((i + a ) === j) {// volanie vyriešiť vyriešiť ()} else {// volanie odmietnuť odmietnuť ()}}) sľub. potom (function () {console.log ('Promise is Resolved !!')}). catch (function () {console.log ('Promise is Rejected !!')})

Výkon:

Pokračujeme týmto článkom o sľuboch v JavaScripte

Spotrebitelia v sľuboch

Existujú dve registračné funkcie:

potom ()

Keď je sľub buď vyriešený, alebo odmietnutý, je vyvolané ().

Parametre:

  • Ak je sľub vyriešený, vykoná sa prvá funkcia a prijme sa výsledok.
  • Ak je prísľub odmietnutý, vykoná sa druhá funkcia a na obrazovke sa zobrazí chyba.

Syntax:

.tak (funkcia (výsledok) {// úspešnosť spracovania}, funkcia (chyba) {// spracovanie chyby})

Pokračujeme týmto článkom o sľuboch v JavaScripte

Príklad

Keď sa sľub vyrieši

// riešenie sľubu varlib = nový sľub (funkcia (vyriešiť, odmietnuť) {vyriešiť ('správa o úspechu je tu napísaná!')}) sľub. potom (funkcia (successMessageishere) {// je vyvolaná funkcia spracovania úspechu console.log (successMessageishere)}, function (errorMessageishere) {console.log (errorMessageishere)})

Výkon:

Pokračujeme týmto článkom o sľuboch v JavaScripte

Keď je sľub odmietnutý

// Odmietnutie sľubu varlib = nový Prísľub (funkcia (vyriešiť, odmietnuť) {odmietnuť ('Sem sa píše správa o odmietnutí!')}) Sľub. Potom (funkcia (successMessage) {console.log (successMessage)}, funkcia ( errorMessage) {// je vyvolaná funkcia obsluhy chýb console.log (errorMessage)})

Výkon:

Pokračujeme týmto článkom o sľuboch v JavaScripte

Chytiť ( )

Kedykoľvek dôjde k nejakej chybe alebo dôjde k odmietnutiu sľubu počas vykonávania, vyvolá sa catch ().
Parametre:

  • V metóde catch () sa ako parameter odovzdá iba jedna funkcia.
  • Táto funkcia je navrhnutá na spracovanie chýb alebo odmietnutí sľubov.

Syntax:

.catch (funkcia (chyba) {// chyba spracovania})

Pokračujeme týmto článkom o sľuboch v JavaScripte

Príklad 1:

var Promise = new Promise (function (resolve, reject) {reject ('Promise is Rejected')}) Promise .then (function (success) {console.log (success)}) .catch (function (error) {// je vyvolaná funkcia obsluhy chýb console.log (chyba)})

Výkon:

Pokračujeme týmto článkom o sľuboch v JavaScripte

Príklad 2:

var Promise = new Promise (function (resolve, reject) {// chybové hlásenie throw new Error ('There is some error!')}) Promise .then (function (success) {console.log (success)}) .catch (funkcia (chyba) {// je vyvolaná funkcia obsluhy chýb console.log (chyba)})

Výkon:

Pokračujeme týmto článkom o sľuboch v JavaScripte

Príklad 3:

varlib = nový sľub (funkcia (vyriešiť, odmietnuť) {// tu je možné upraviť chybové hlásenie hodiť novú chybu (došlo k nejakej chybe!))) sľub. potom (funkcia (Thissuccess) {console.log (Thissuccess)} ) .catch (funkcia (Thiserror) {// funkcia obsluhy chyby vyvolaná console.log (Thiserror)})

Výkon:

Prihláška:
1. Spracovanie asynchrónnych udalostí.
2. Spracovanie asynchrónnych požiadaviek HTTP.

Tak sme sa dostali na koniec tohto článku o „Sľuboch v JavaScripte“. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.