In JavaScript gli oggetti Promise vengono utilizzati per lavorare con le operazioni asincrone. Il concetto di promessa può sembrare complicato all'inizio, ma in realtà sono abbastanza semplici; Possiamo comprendere le promesse di JavaScript confrontandole con le promesse del mondo reale usando i termini di Layman.
Nella vita di tutti i giorni facciamo promesse per mostrare il nostro impegno. Allo stesso modo in JavaScript facciamo un oggetto Promise quando dobbiamo impegnarci a eseguire un blocco di codice.
Ad esempio, quando inviamo una richiesta per recuperare i dati da un'API tramite il nostro codice, l'API richiede tempo per rispondere. Nel frattempo l'interprete JavaScript si sposta sul blocco successivo di codice, ma vogliamo eseguire un pezzo di codice dopo l'adempimento o il rifiuto della risposta. Ora, se utilizziamo l'oggetto Promise, possiamo eseguire la linea di codici desiderata in seguito all'adempimento o al rifiuto della risposta API.
Gli oggetti Promise JavaScript possono avere tre stati diversi i.E:
La promessa è in sospeso quando il risultato dell'oggetto promettente non è definito; è soddisfatto quando il risultato ha un valore e rifiutato quando il risultato è un errore. Ad esempio, nell'esempio di cui sopra se abbiamo inviato la richiesta all'API e siamo in attesa dei dati, la promessa è in sospeso. Se l'API invia correttamente i dati, la promessa è mantenuta e se il codice non può connettersi con l'API, la promessa è stata respinta.
Cosa sono promesse in JavaScript
Come accennato in precedenza, le operazioni asincrone in JavaScript vengono gestite attraverso le promesse. JavaScript asincrono si riferisce principalmente alle funzioni in esecuzione in parallelo con il programma principale.
Negli eventi JavaScript e le funzioni di callback sono stati utilizzati per gestire le operazioni asincroni prima delle promesse. Le promesse sono state aggiunte nella versione ES6 di JavaScript nel 2015. Sebbene le funzioni e gli eventi di callback fossero utili, avevano ancora i loro limiti. Il callback Hell è stato il più grande svantaggio dell'utilizzo delle funzioni di callback.
Le promesse sono perfette per la gestione delle operazioni asincroni in quanto possono gestire diverse operazioni asincroni e sono molto migliori nella gestione degli errori rispetto a eventi e callback.
Come le promesse funzionano in javascript
Le funzioni asincroni sono funzioni che corrono parallele al programma principale. Queste funzioni funzionano separatamente dal programma principale e avvisano il thread chiamante del loro successo, fallimento o progresso.
L'oggetto promettente in JavaScript ha uno dei tre stati:
Creazione di un semplice oggetto Promise in JavaScript
Qui impareremo a creare un oggetto Promise in pochi semplici passaggi:
Nota: La console del browser viene utilizzata per la dimostrazione di esempi in questo articolo.
Le promesse JavaScript vengono create utilizzando il nuovo Promise () costruttore:
const mypromise = new Promise ();La nuova promessa richiede due parametri diversi. Uno di questi parametri è per il successo (nel caso in cui la promessa è risolta) e l'altro è per fallimento (nel caso in cui la promessa viene rifiutata):
const myPromise = new Promise ((Resolve, Reject) =>Infine, definiamo il corpo dell'oggetto promettente. Gli diamo una condizione che verrà soddisfatta solo se la promessa viene risolta:
const myPromise = new Promise ((Resolve, Reject) =>Ora impariamo a usare il nostro oggetto Promise appena creato. Ci possono essere solo due diversi risultati finali per un oggetto promettente; Può essere una promessa risolta o rifiutata.
allora () metodo : Il metodo allora () definisce cosa accadrà dopo se una promessa viene risolta.
mia promessa.Poi();In questo esempio stiamo usando il metodo allora () per registrare un messaggio (che abbiamo ricevuto dalla promessa) alla console.
mia promessa.Quindi ((messaggio) =>Metodo catch () : Allo stesso modo, il metodo Catch () definisce cosa accadrà dopo se una promessa fallisce.
Può essere scritto in due modi diversi; separatamente o in combinazione con il metodo allora (). Nel caso in cui la promessa non sia mantenuta, eseguirà il metodo Catch () e questa volta verrà mostrato un messaggio diverso sulla console.
Conclusione
Le promesse in JavaScript sono oggetti che vengono utilizzati come alternativa di funzioni ed eventi di callback durante la gestione delle operazioni asincroni in JavaScript. Le promesse possono avere tre stati diversi i.e. in sospeso, realizzato o insoddisfatto. Nello stato in sospeso l'oggetto promettente è in attesa del valore, quindi non ha valore. Nello stato soddisfatto ha il valore risolto e nello stato insoddisfatto ha il motivo per cui la promessa non è stata risolta. Questo post era una guida approfondita sugli oggetti promettenti in JavaScript.