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,
- Merkitys
- Tyyppiset valtiot
- Lupausten luominen
- Esimerkki 1 lupausten luomisesta
- Esimerkki 2 lupausten luomisesta
- Esimerkki 3 lupausten luomisesta
- Lupauksissa olevat kuluttajat silloin ()
- Esimerkki siitä, milloin lupaus on ratkaistu
- Esimerkki Lupauksen hylkäämisestä
- Lupausten kuluttajien saalis ()
- Esimerkki 1 lupausten kuluttajille
- Esimerkki 2 lupausten kuluttajille
- Esimerkki 3 lupausten kuluttajille
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:
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.