Jak implementovat sliby v JavaScriptu?



Sliby v JavaScriptu se v zásadě používají ke zpracování operací asynchronních operací. Tento článek vám pomůže podrobně prozkoumat koncept.

Sliby v se v zásadě používají ke zpracování operací asynchronních operací. Slib je objekt, který může v budoucnu vytvořit jedinou hodnotu: buď vyřešenou hodnotu, nebo chybu.

V tomto článku se budeme zabývat následujícími ukazateli,





Začněme s tímto článkem o slibech v JavaScriptu

Důležitost:

Sliby přijdou vhod, když je třeba řešit několik asynchronních operací. Než byly sliby zavedeny v JavaScriptu, existovaly události a funkce zpětného volání, které se používají ke zpracování asynchronních operací. Vzhledem k tomu, že události nejsou v případě asynchronních operací příliš užitečné, nejsou preferovány. Pokud by došlo k zpětnému volání, jejich použití v násobcích by způsobilo takový nepořádek, že bylo pro kohokoliv velmi obtížné kódu porozumět.
Proto jsou sliby první volbou každého kodéru pro zpracování asynchronních operací nejjednodušším způsobem. Mají pokročilé funkce, které jim usnadňují manipulaci s operacemi než zpětné volání a události.



  • Díky Promises je kód čitelný, což znamená, že jej mohou kodéři upravit i v pozdější fázi vývoje.
  • Ve srovnání s zpětným voláním a událostí je v asynchronních operacích lepší zpracování.
  • Pokročilé zpracování chyb je také považováno za důležitou vlastnost.
  • Existuje mnohem lepší tok definice řízení v asynchronním režimu.

Pokračujeme tímto článkem o slibech v JavaScriptu

Typ států:

Splněno: Souvisí s těmi sliby, které jsou úspěšné.
Odmítnuto: Souvisí s těmi sliby, které jsou odmítnuty.
Čekající: Souvisí s těmi sliby, které čekají na schválení, tj. Ani odmítnuty, ani přijaty.
Vypořádáno: Souvisí s těmi sliby, které se plní nebo odmítají.

Pokračujeme tímto článkem o slibech v JavaScriptu



Vytváření slibů

Slib je vytvořen pomocí konstruktoru slibů.

Syntax:

var Promise = new Promise (funkce (vyřešit, odmítnout) {// zde něco udělat))

Parametry:
Konstruktor slibů přijímá jeden argument, funkci zpětného volání. Ve funkci zpětného volání existují dva argumenty, vyřešit nebo odmítnout. Operace se provádějí uvnitř funkcí zpětného volání, pokud vše proběhlo dobře, volání se vyřeší, jinak se volání odmítne.

Pokračujeme tímto článkem o slibech v JavaScriptu

Příklad 1:

var Promise = new Promise (funkce (vyřešit, odmítnout) {/ * deklarovat a definovat dvě proměnné datového typu const se stejným obsahem. * / const a = 'Ahoj! Jmenuji se Yash a zajímám se o informatiku.' const b = 'Ahoj! Jmenuji se Yash a zajímám se o informatiku.' // kontrola, zda je obsah uložený v proměnných stejný nebo ne, pokud (a === b) {// volání vyřešit řešení () } else {// volání odmítnout odmítnout ()}}) slib. then (function () {console.log ('Promise Resolved !!')}). catch (function () {console.log ('Promise Rejected !!')})

Výstup:
Výstup - Sliby v JavaScriptu - Edureka

Pokračujeme tímto článkem o slibech v JavaScriptu

jak porovnat dva řetězce

Příklad 2:

var Promise = new Promise (funkce (řešení, odmítnutí) {// inicializace dvou proměnných s celočíselnými hodnotami const x = 11 + 2 const y = 26/2 // kontrola, zda jsou obě proměnné stejné nebo ne if (x === y ) {// volání vyřešit vyřešit ()} else {// volání odmítnout odmítnout ()}}) slib. then (function () {console.log ('Promise is Resolved !!')}). catch (function () {console.log ('Promise is Rejected !!')})

Výstup:

Pokračujeme tímto článkem o slibech v JavaScriptu

Příklad 3:

var Promise = new Promise (funkce (řešení, odmítnutí) {const i = 'Hello' const a = 'World' // provedení přidání dvou proměnných k uložení hodnoty do jiné proměnné const j = i + a if ((i + a ) === j) {// volání vyřešit vyřešit ()} else {// volání odmítnout odmítnout ()}}) slib. then (function () {console.log ('Promise is Resolved !!')}). catch (function () {console.log ('Promise is Rejected !!')})

Výstup:

Pokračujeme tímto článkem o slibech v JavaScriptu

Spotřebitelé ve slibech

Existují dvě registrační funkce:

pak()

Když je slib buď vyřešen, nebo odmítnut, je vyvolána ().

Parametry:

  • Pokud je slib vyřešen, je provedena první funkce a je přijat výsledek.
  • Pokud je slib odmítnut, provede se druhá funkce a na obrazovce se zobrazí chyba.

Syntax:

.then (function (result) {// handling success}, function (error) {// handling the error})

Pokračujeme tímto článkem o slibech v JavaScriptu

Příklad

Až bude slib vyřešen

// vyřešení slibu var slib = nový slib (funkce (vyřešení, odmítnutí) {vyřešit ('je zde napsána zpráva o úspěchu!')}) slib. potom (funkce (successMessageishere) {// je vyvolána funkce zpracování úspěchu console.log (successMessageishere)}, function (errorMessageishere) {console.log (errorMessageishere)})

Výstup:

Pokračujeme tímto článkem o slibech v JavaScriptu

Když je slib odmítnut

// Odmítnutí slibu varlib = nový Promise (funkce (řešení, odmítnutí) {reject ('Zpráva o odmítnutí je zde zapsána!')}) Slib. Potom (funkce (successMessage) {console.log (successMessage)}, funkce ( errorMessage) {// funkce obsluhy chyb je vyvolána console.log (errorMessage)})

Výstup:

Pokračujeme tímto článkem o slibech v JavaScriptu

Úlovek ( )

Kdykoli dojde k nějaké chybě nebo bude slib odmítnut během doby provádění, je vyvolána funkce catch ().
Parametry:

  • V metodě catch () je předána jako parametr pouze jedna funkce.
  • Tato funkce je vytvořena pro zpracování chyb nebo odmítnutí slibů.

Syntax:

.catch (funkce (chyba) {// chyba zpracování})

Pokračujeme tímto článkem o slibech v JavaScriptu

Příklad 1:

var Promise = new Promise (funkce (řešení, odmítnutí) {reject ('Promise is Rejected')}) Promise .then (function (success) {console.log (success)}) .catch (function (error) {// je vyvolána funkce obsluhy chyb console.log (chyba)})

Výstup:

Pokračujeme tímto článkem o slibech v JavaScriptu

Příklad 2:

var Promise = new Promise (funkce (vyřešit, odmítnout) {// chybová zpráva hodit novou Error ('There is some error!')}) Promise .then (function (success) {console.log (success)}) .catch (function (error) {// error handler function is invoked console.log (error)})

Výstup:

Pokračujeme tímto článkem o slibech v JavaScriptu

Příklad 3:

var Promise = new Promise (funkce (vyřešit, odmítnout) {// zde lze editovat chybovou zprávu hodit novou Error ('some error occurs!')}) Promise .then (function (Thissuccess) {console.log (Thissuccess)} ) .catch (funkce (Thiserror) {// funkce obsluhy chyb vyvolaná console.log (Thiserror)})

Výstup:

Aplikace:
1. Zpracování asynchronních událostí.
2. Zpracování asynchronních požadavků HTTP.

Tak jsme dospěli k závěru tohoto článku o „Slibech v JavaScriptu“. Pokud se chcete dozvědět více, podívejte se na Edureka, důvěryhodná online vzdělávací společnost. Školicí a certifikační kurz Edureka Java J2EE a SOA je navržen tak, aby vás vyškolil jak pro základní, tak pro pokročilé koncepty Java spolu s různými rámci Java jako Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.