Hvordan implementere løfter i JavaScript?



Løfter i JavaScript brukes i utgangspunktet til å håndtere operasjoner asynkrone operasjoner. Denne artikkelen vil hjelpe deg med å utforske konseptet i detalj.

Løfter i brukes i utgangspunktet til å håndtere asynkrone operasjoner. Et løfte er et objekt som kan produsere en enkelt verdi i fremtiden: enten en løst verdi eller en feil.

Følgende tips vil bli dekket i denne artikkelen,





La oss komme i gang med denne artikkelen om løfter i JavaScript

Betydning:

Løftene kommer til nytte når det er flere asynkrone operasjoner å håndtere. Før løfter ble introdusert i JavaScript, var det hendelser og tilbakekallingsfunksjoner som ble brukt til å håndtere asynkrone operasjoner. Siden hendelser ikke er mye nyttige i tilfelle asynkrone operasjoner, foretrekkes de ikke. Å komme tilbake, ved å bruke dem i flere, ville skape et slikt rot at det var veldig vanskelig for noen å forstå koden.
Derfor er løfter førstevalget til hver koder for å håndtere asynkrone operasjoner på den enkleste måten. De har avanserte funksjoner som gjør det enkelt for dem å håndtere operasjonene enn tilbakeringing og hendelser.



  • Promises gjør koden lesbar, noe som betyr at den også kan redigeres av koderne på senere utviklingsstadium.
  • Det er bedre håndtering gjennom de asynkrone operasjonene sammenlignet med tilbakeringing og hendelse.
  • Avansert feilhåndtering blir også ansett som en viktig funksjon.
  • En mye bedre flyt av kontrolldefinisjon i asynkron er der.

Fortsetter med denne artikkelen om løfter i JavaScript

Type stater:

Oppfylt: Relatert til de løftene som lykkes.
Avvist: Relatert til de løftene som blir avvist.
Avventer: Relatert til de løftene som venter, dvs. verken avvist eller akseptert.
Bosatte seg: Relatert til løftene som blir oppfylt eller avvist.

Fortsetter med denne artikkelen om løfter i JavaScript



c ++ Fibres rekursjon

Opprettelse av løfter

Et løfte opprettes ved hjelp av løftekonstruktør.

Syntaks:

var løfte = nytt løfte (funksjon (løse, avvis) {// gjør noe her})

Parametere:
Promise konstruktør tar ett argument, tilbakeringingsfunksjon. Det er to argumenter i tilbakeringingsfunksjonen, løse eller avvise. Operasjoner utføres inne i tilbakeringingsfunksjonene. Hvis alt gikk bra, løser samtalen ellers blir samtalen avvist.

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel 1:

var løfte = nytt løfte (funksjon (løse, avvise) {/ * erklære og definere to variabler av const datatype med samme innhold. * / const a = 'Hei! Jeg heter Yash og jeg er interessert i datavitenskap.' const b = 'Hei! Mitt navn er Yash og jeg er interessert i datalogi.' // sjekker om både innholdet som er lagret i variabler er likt eller ikke hvis (a === b) {// ringer løser løse () } annet {// kaller avvis avvis ()}}) løfte. deretter (funksjon () {console.log ('Promise Resolved !!')}). catch (function () {console.log ('Promise Avvist !!')})

Produksjon:
Output- Løfter i JavaScript - Edureka

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel 2:

var løfte = nytt løfte (funksjon (løse, avvis)) {// initialisere to variabler med heltallverdier const x = 11 + 2 const y = 26/2 // sjekke om begge variablene er like eller ikke hvis (x === y ) {// ringer løser løse ()} annet {// ringer avviser avviser ()}}) løfte. deretter (function () {console.log ('Promise is Resolved !!')}). catch (function () {console.log ('Løftet er avvist !!')})

Produksjon:

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel 3:

var løfte = nytt løfte (funksjon (løse, avvise) {const i = 'Hello' const a = 'World' // utfører tillegg av to variabler for å lagre verdi i en annen variabel con j = i + a hvis ((i + a ) === j) {// ringer løser løse ()} annet {// ringer avviser avviser ()}}) løfte. deretter (function () {console.log ('Promise is Resolved !!')}). catch (function () {console.log ('Løftet er avvist !!')})

Produksjon:

Fortsetter med denne artikkelen om løfter i JavaScript

Forbrukere i løfter

Det er to registreringsfunksjoner:

deretter()

Når et løfte enten løses eller avvises, påkalles ().

Parametere:

  • Hvis løftet løses, utføres den første funksjonen og resultatet mottas.
  • Hvis løftet avvises, utføres den andre funksjonen og en feil vises på skjermen.

Syntaks:

.then (funksjon (resultat) {// håndteringssuksess}, funksjon (feil) {// håndtering av feilen})

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel

Når løftet blir løst

// løsning av løfte var løfte = nytt løfte (funksjon (løse, avvis) {løse ('Suksessmelding er skrevet her!')}) løfte. så (funksjon (successMessageishere) {// suksesshåndteringsfunksjon påkalles console.log (successMessageishere)}, funksjon (errorMessageishere) {console.log (errorMessageishere)})

Produksjon:

Fortsetter med denne artikkelen om løfter i JavaScript

Når løftet blir avvist

// Avslag på løfte var løfte = nytt løfte (funksjon (løse, avvise) {avvise ('Avvisningsmelding er skrevet her!')}) Løfte. Så (funksjon (successMessage) {console.log (successMessage)}, funksjon ( errorMessage) {// feilbehandlerfunksjon påkalles console.log (errorMessage)})

Produksjon:

Fortsetter med denne artikkelen om løfter i JavaScript

Å fange ( )

Hver gang det er en slags feil eller løftet blir avvist i løpet av utførelsestiden, blir fangst () påkalt.
Parametere:

  • Bare en funksjon sendes som parameter i fangst () -metoden.
  • Denne funksjonen er bygget for å håndtere feil eller love avslag.

Syntaks:

.catch (funksjon (feil) {// håndteringsfeil})

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel 1:

var løfte = nytt løfte (funksjon (løse, avvis) {avvis ('Løfte er avvist')}) løfte. deretter (funksjon (suksess) {konsoll.logg (suksess)}). fangst (funksjon (feil) {// feilhåndteringsfunksjonen blir påkalt console.log (error)})

Produksjon:

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel 2:

var løfte = nytt løfte (funksjon (løse, avvis) {// feilmelding kaste ny feil ('Det er noe feil!')}) løfte. så (funksjon (suksess) {konsoll.log (suksess)}). fangst (funksjon (feil) {// feilbehandlingsfunksjon påkalles console.log (feil)})

Produksjon:

Fortsetter med denne artikkelen om løfter i JavaScript

Eksempel 3:

var løfte = nytt løfte (funksjon (løse, avvis) {// feilmelding kan redigeres her kast ny feil ('noen feil oppstod!')}) løfte. så (funksjon (Thissuccess) {console.log (Thissuccess)} ) .catch (funksjon (Thiserror) {// feilhåndteringsfunksjon påkalt console.log (Thiserror)})

Produksjon:

Applikasjon:
1. Håndtering av asynkrone hendelser.
2. Håndtering av asynkrone http-forespørsler.

Dermed har vi kommet til en slutt på denne artikkelen om ‘Promises in JavaScript’. Hvis du ønsker å lære mer, sjekk ut av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.