Kuinka lupaukset toteutetaan JavaScriptissä?



JavaScriptin lupauksia käytetään periaatteessa asynkronisten toimintojen käsittelyyn. Tämä artikkeli auttaa sinua tutustumaan käsitteeseen yksityiskohtaisesti.

Lupaukset sisään käytetään periaatteessa asynkronisten toimintojen käsittelyyn. Lupaus on esine, joka voi tuottaa yhden arvon tulevaisuudessa: joko ratkaistu arvo tai virhe.

Seuraavat vihjeet käsitellään tässä artikkelissa,





Aloitetaan tämän artikkelin luvuista JavaScriptissä

Merkitys:

Lupaukset ovat hyödyllisiä, kun käsitellään useita asynkronisia operaatioita. Ennen kuin lupaukset otettiin käyttöön JavaScriptissä, asynkronisten operaatioiden käsittelyssä käytettiin tapahtumia ja soittopyyntöjä. Koska tapahtumista ei ole paljon hyötyä asynkronisissa operaatioissa, niitä ei suositella. Takaisinsoittoon palaaminen, niiden käyttäminen kerrannaisina aiheuttaisi sellaisen sotkun, että kenenkään oli hyvin vaikea ymmärtää koodia.
Siksi lupaukset ovat jokaisen kooderin ensimmäinen valinta käsittelemään asynkronisia operaatioita yksinkertaisimmalla tavalla. Heillä on edistyneitä ominaisuuksia, jotka helpottavat toimintojen hallintaa kuin soittopyynnöt ja tapahtumat.



  • Promises tekee koodin luettavaksi, mikä tarkoittaa, että kooderit voivat muokata sitä myös myöhemmässä kehitysvaiheessa.
  • Asynkronisten toimintojen käsittely on parempi kuin takaisinsoittoon ja tapahtumaan.
  • Edistynyttä virhekäsittelyä pidetään myös tärkeänä ominaisuutena.
  • Paljon parempi ohjausmäärittelyn virtaus asynkronisessa on olemassa.

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Osavaltioiden tyyppi:

Täytetty: Liittyy onnistuneisiin lupauksiin.
Hylätty: Liittyy niihin lupauksiin, jotka hylätään.
Odottaa: Liittyy odottaviin lupauksiin, joita ei ole hylätty eikä hyväksytty.
Ratkaistu: Liittyy niihin lupauksiin, jotka täytetään tai hylätään.

Tämän artikkelin jatkaminen JavaScriptin lupauksista



Lupausten luominen

Lupaus luodaan lupa-rakentajan avulla.

Syntaksi:

var lup = uusi lupaus (funktio (ratkaise, hylkää) {// tee jotain täällä})

Parametrit:
Promise-rakentaja tarvitsee yhden argumentin, soittopyynnön. Takaisinsoittotoiminnossa on kaksi argumenttia: ratkaise tai hylkää. Toiminnot suoritetaan takaisinsoittotoimintojen sisällä, jos kaikki meni hyvin, puhelu ratkaisee, muuten puhelu hylätään.

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki 1:

var lupa = uusi lupa (funktio (ratkaise, hylkää) {/ * ilmoitetaan ja määritetään kaksi saman tietosisällön const-tyypin muuttujaa. * / const a = 'Hei! Nimeni on Yash ja minua kiinnostaa tietojenkäsittelytiede.' const b = 'Hei siellä! Nimeni on Yash ja olen kiinnostunut tietojenkäsittelytieteistä.' // tarkistetaan, ovatko molemmat muuttujiin tallennetut sisällöt samat vai eivät, jos (a === b) {// soittaminen ratkaise ratkaisu () } else {// soittaminen hylkää hylkää ()}}) lupaus. sitten (function () {console.log ('Promise ratkaistu !!')}). catch (function () {console.log ('Promise Hylätty !!')})

Tuotos:
Tuotos- JavaScript-lupaukset - Edureka

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki 2:

var lupa = uusi Lupa (funktio (ratkaise, hylkää) {// alustetaan kaksi muuttujaa kokonaisluvuilla const x = 11 + 2 const y = 26/2 // tarkistetaan, ovatko molemmat muuttujat yhtä suuret vai eivät, jos (x === y ) {// soittaminen ratkaise ratkaisu ()} muu {// kutsuva hylkäys hylkää ()}}) lupaus. sitten (function () {console.log ('Lupa on ratkaistu!')}). catch (function () {console.log ('Lupa on hylätty !!')})

Tuotos:

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki 3:

var lupa = uusi Lupa (funktio (ratkaise, hylkää) {const i = 'Hei' const a = 'World' // kahden muuttujan lisääminen arvon tallentamiseksi toiseen muuttujaan const j = i + a if ((i + a ) === j) {// soittaminen ratkaise ratkaisu ()} muu {// soittaminen hylkää hylkää ()}}) lupaus. sitten (function () {console.log ('Lupa on ratkaistu!')}). catch (function () {console.log ('Lupa on hylätty !!')})

Tuotos:

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Lupausten kuluttajat

Rekisteröintitoimintoja on kaksi:

sitten()

Kun lupaus on joko ratkaistu tai hylätty, käytetään ().

Parametrit:

  • Jos lupaus ratkaistaan, ensimmäinen toiminto suoritetaan ja tulos saadaan.
  • Jos lupaus hylätään, toinen toiminto suoritetaan ja virhe näkyy näytöllä.

Syntaksi:

. sitten (funktio (tulos) {// onnistumisen hallinta}, funktio (virhe) {// virheen käsitteleminen})

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki

Kun lupaus on ratkaistu

// lupauksen ratkaisu var lup = uusi lupa (toiminto (ratkaise, hylkää) {ratkaise ('Success-viesti kirjoitetaan tähän!')}) lupaus. sitten (function (successMessageishere) {// onnistumisenkäsittelytoiminto kutsutaan console.log (successMessageishere)}, toiminto (errorMessageishere) {console.log (errorMessageishere)})

Tuotos:

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Kun lupaus hylätään

// Lupauksen hylkääminen var lup = uusi Lupa (toiminto (ratkaise, hylkää) {hylkää ('Hylkäysviesti kirjoitetaan tähän!')}) Lupaus. Sitten (funktio (menestysviesti) {konsoli.log (menestysviesti)}, funktio errorMessage) {// virheenkäsittelytoiminto käynnistetään console.log (errorMessage)})

Tuotos:

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Ottaa kiinni ( )

Aina kun on jonkinlainen virhe tai lupaus hylätään suorituksen aikana, kutsutaan catch ().
Parametrit:

  • Vain yksi toiminto välitetään parametrina catch () -menetelmässä.
  • Tämä toiminto on rakennettu käsittelemään virheitä tai lupaamaan hylkäyksiä.

Syntaksi:

.catch (funktio (virhe) {// käsittelyvirhe})

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki 1:

var lup = uusi lupaus (funktio (ratkaise, hylkää) {hylkää (lupaus hylätään)}) lupaus. sitten (funktio (menestys) {konsoli.log (menestys)}) .catch (toiminto (virhe) {// virheenkäsittelytoiminto käynnistetään console.log (virhe)})

Tuotos:

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki 2:

var lup = uusi lupaus (funktio (ratkaise, hylkää) {// virhesanoma heittää uuden virheen ('On virhe!')}) lupaus. sitten (funktio (menestys) {konsoli.log (menestys)}) .catch (function (error) {// virheenkäsittelytoiminto kutsutaan console.log (error)})

Tuotos:

ero kokin ja mahdollisen välillä

Tämän artikkelin jatkaminen JavaScriptin lupauksista

Esimerkki 3:

var lup = uusi lupaus (funktio (ratkaise, hylkää) {// virheilmoitusta voidaan muokata täällä heittää uusi virhe ('tapahtui virhe!')}) lupaus. sitten (funktio (Thissuccess) {console.log (Thissuccess)} ) .catch (function (Thiserror) {// virheenkäsittelytoiminto kutsui console.log (Thiserror)})

Tuotos:

Sovellus:
1. Asynkronisten tapahtumien käsittely.
2. Asynkronisten http-pyyntöjen käsittely.

Siksi olemme päässeet tämän artikkelin 'JavaScript-lupaukset' -artikkeliin. Jos haluat oppia lisää, tutustu Edureka, luotettava verkko-oppimisyritys. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.