Hvordan gennemføres løfter i JavaScript?



Løfter i JavaScript bruges dybest set til at håndtere operationer asynkrone operationer. Denne artikel hjælper dig med at udforske konceptet i detaljer.

Løfter i bruges dybest set til at håndtere operationer asynkrone operationer. Et løfte er et objekt, der kan producere en enkelt værdi i fremtiden: enten en løst værdi eller en fejl.

Følgende punkter vil blive dækket i denne artikel,





Lad os komme i gang med denne artikel om løfter i JavaScript

c ++ sortere int array

Betydning:

Løfterne er nyttige, når der er flere asynkrone operationer, der skal håndteres. Før løfter blev indført i JavaScript, var der begivenheder og tilbagekaldsfunktioner, der blev brugt til at håndtere asynkrone operationer. Da begivenheder ikke er meget nyttige i tilfælde af asynkrone operationer, foretrækkes de ikke. At komme til tilbagekald ved at bruge dem i multipler ville skabe et rod, at det var meget svært for nogen at forstå koden.
Derfor er løfter det første valg for hver koder til at håndtere asynkrone operationer på den enkleste måde. De har avancerede funktioner, der gør det nemt for dem at håndtere operationerne end tilbagekaldelse og begivenheder.



  • Promises gør koden læsbar, hvilket betyder, at den også kan redigeres af koderne på senere udviklingsstadium.
  • Der er bedre håndtering gennem de asynkrone operationer sammenlignet med tilbagekald og begivenhed.
  • Avanceret fejlhåndtering betragtes også som en vigtig funktion.
  • En meget bedre strøm af kontroldefinition i asynkron er der.

Fortsætter med denne artikel om løfter i JavaScript

Type stater:

Opfyldt: Relateret til de løfter, der lykkes.
Afvist: Relateret til de løfter, der afvises.
Verserende: Relateret til de løfter, der afventer, dvs. hverken afvist eller accepteret.
Slog sig ned: Relateret til de løfter, der bliver opfyldt eller afvist.

Fortsætter med denne artikel om løfter i JavaScript



Oprettelse af løfter

Et løfte oprettes ved hjælp af løftekonstruktør.

Syntaks:

var løfte = nyt løfte (funktion (løsning, afvisning) {// gør noget her})

Parametre:
Promise constructor tager et argument, callback-funktion. Der er to argumenter i tilbagekaldsfunktionen, løse eller afvise. Operationer udføres inde i tilbagekaldsfunktionerne. Hvis alt gik godt, løser opkaldet ellers får opkald afslag.

Fortsætter med denne artikel om løfter i JavaScript

Eksempel 1:

var løfte = nyt løfte (funktion (løsning, afvisning) {/ * erklærer og definerer to variabler af const datatype med samme indhold. * / const a = 'Hej der! Mit navn er Yash og jeg er interesseret i datalogi.' const b = 'Hej der! Mit navn er Yash, og jeg er interesseret i datalogi.' // kontrollerer, om både indholdet, der er gemt i variabler, er det samme eller ej, hvis (a === b) {// opkald løser løse () } andet {// opkald afvis afvis ()}}) løfte. derefter (funktion () {console.log ('Promise Resolved !!')}). catch (function () {console.log ('Promise Afvist !!')})

Produktion:
Output- løfter i JavaScript - Edureka

Fortsætter med denne artikel om løfter i JavaScript

Eksempel 2:

var løfte = nyt løfte (funktion (løsning, afvisning) {// initialisering af to variabler med heltalværdier const x = 11 + 2 const y = 26/2 // kontrol om begge variabler er ens eller ikke hvis (x === y ) {// opkald løser løs ()} andet {// opkald afviser afvis ()}}) løfte. derefter (funktion () {console.log ('Løftet er løst !!')}). fange (funktion () {console.log ('Løftet afvises !!')})

Produktion:

Fortsætter med denne artikel om løfter i JavaScript

Eksempel 3:

var løfte = nyt løfte (funktion (løsning, afvis) {const i = 'Hej' const a = 'Verden' // udfører tilføjelse af to variabler for at gemme værdi i en anden variabel con j = i + a hvis ((i + a ) === j) {// opkald løser løsning ()} andet {// opkald afviser afvis ()}}) løfte. derefter (funktion () {console.log ('Løftet er løst !!')}). fange (funktion () {console.log ('Løftet afvises !!')})

Produktion:

Fortsætter med denne artikel om løfter i JavaScript

Forbrugere i løfter

Der er to registreringsfunktioner:

derefter()

at finde det største tal i en array-java

Når et løfte enten løses eller afvises, påberåbes ().

Parametre:

  • Hvis løftet løses, udføres den første funktion, og et resultat modtages.
  • Hvis løftet afvises, udføres anden funktion, og der vises en fejl på skærmen.

Syntaks:

.then (funktion (resultat) {// håndtering succes}, funktion (fejl) {// håndtering af fejlen})

Fortsætter med denne artikel om løfter i JavaScript

Eksempel

Når løftet er løst

// løsning af løfte var løfte = nyt løfte (funktion (løsning, afvisning) {løsning ('Succesmeddelelse er skrevet her!')}) løfte. derefter (funktion (successMessageishere) {// succeshåndteringsfunktion påkaldes console.log (successMessageishere)}, funktion (errorMessageishere) {console.log (errorMessageishere)})

Produktion:

Fortsætter med denne artikel om løfter i JavaScript

Når løftet afvises

// Afvisning af løfte var løfte = nyt løfte (funktion (løsning, afvisning) {afvis ('Afvisningsbesked er skrevet her!')}) Løfte. Derefter (funktion (successMessage) {console.log (successMessage)}, funktion ( errorMessage) {// fejlhåndteringsfunktion kaldes console.log (errorMessage)})

Produktion:

Fortsætter med denne artikel om løfter i JavaScript

Fangst ( )

Når der er en eller anden form for fejl, eller løftet bliver afvist under udførelsestid, påberåbes fangst ().
Parametre:

<> operatør i sql
  • Kun en funktion videregives som parameter i catch () -metoden.
  • Denne funktion er bygget til at håndtere fejl eller afvisning af løfter.

Syntaks:

.catch (funktion (fejl) {// håndteringsfejl})

Fortsætter med denne artikel om løfter i JavaScript

Eksempel 1:

var løfte = nyt løfte (funktion (løse, afvis) {afvis ('løfte afvises')}) løfte. derefter (funktion (succes) {konsol.log (succes)}). fangst (funktion (fejl) {// fejlhåndteringsfunktion påberåbes console.log (fejl)})

Produktion:

Fortsætter med denne artikel om løfter i JavaScript

Eksempel 2:

var løfte = nyt løfte (funktion (løse, afvis) {// fejlmeddelelse kaste ny fejl ('Der er en fejl!')}) løfte. derefter (funktion (succes) {konsol.log (succes)}). fangst (funktion (fejl) {// fejlhåndteringsfunktion kaldes console.log (fejl)})

Produktion:

Fortsætter med denne artikel om løfter i JavaScript

Eksempel 3:

var løfte = nyt løfte (funktion (løsning, afvis) {// fejlmeddelelse kan redigeres her kast ny fejl ('der opstod en fejl!')}) løfte. derefter (funktion (Thissuccess) {console.log (Thissuccess)} ) .catch (funktion (Thiserror) {// fejlhåndteringsfunktion påkaldt console.log (Thiserror)})

Produktion:

Ansøgning:
1. Håndtering af asynkrone begivenheder.
2. Håndtering af asynkrone http-anmodninger.

Således er vi nået til slutningen af ​​denne artikel om 'løfter i JavaScript'. Hvis du ønsker at lære mere, skal du tjekke af Edureka, et betroet online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.