Il codice asincrono viene eseguito immediatamente e, a differenza del codice sincrono, non attende che la riga di codice precedente termini l'esecuzione. Tuttavia, quando abbiamo a che fare con più operazioni asincroni, l'uso di callback non è una buona scelta poiché il codice diventa confuso, ingestibile e difficile da capire o debug. Quindi la soluzione è usare le promesse.
In questo post, esamineremo il concetto di promesse in JavaScript insieme ad esempi.
Cosa sono promesse?
Una promessa è un'operazione o un compito che sarà completato in futuro. La sintassi della promessa è riportata di seguito:
Sintassi promettente:
let myPromise = new Promise (function (risolve, rifiuta)Come possiamo vedere dalla sintassi di promessa sopra offerti, il costruttore promettente prende solo la funzione di callback come argomento. Nella funzione di callback, abbiamo gli argomenti risoluti e rifiutano in cui la risoluzione viene chiamata quando le operazioni eseguite all'interno della funzione di callback hanno esito positivo. Tuttavia, se l'operazione non ha successo, chiama il rifiuto.
Per dircelo semplicemente supponiamo che il tuo compleanno stia arrivando e tua madre ti promette di darti un nuovo laptop. Non hai ricevuto il laptop e non puoi essere davvero sicuro se otterrai il laptop o no fino al tuo compleanno. Tua madre potrebbe comprarti un laptop o può cambiare idea e comprarti qualcos'altro. Questa è una promessa nel linguaggio laico.
Ogni promessa ha tre stati o possibilità:
Vantaggi delle promesse
Prima di andare agli esempi di promessa, esaminiamo un altro concetto all'interno delle promesse che sono promettenti consumatori la cui funzione è consumare promesse registrando funzioni usando:
Esempio:
In questo esempio, verificheremo se due numeri sono uguali o meno utilizzando le promesse e in base al fatto che questa operazione abbia esito positivo o meno, mostreremo l'output.
// Prometti l'inizializzazionePoiché l'operazione ha avuto successo, vediamo Operazione riuscita nel registro della console.
Cambiamo ora i numeri inizializzati nella funzione call-back per vedere se la funzione di cattura rileva un errore o no.
// Prometti l'inizializzazionePoiché i numeri non sono uguali ora, la funzione di rifiuto () verrà invocata e l'errore verrà memorizzato nella cache della funzione Catch:
Conclusione
Una promessa è un'operazione completata in futuro e aiuta gli sviluppatori a implementare il codice asincrono. Le promesse sono preferite rispetto alle funzioni di callback poiché le promesse sono molto più pulite, quindi migliorando la leggibilità e il debug del codice, ha una migliore gestione degli errori e più operazioni asincroni sono meglio gestite con le promesse. Una promessa può essere mantenuta, rifiutata o in sospeso.
In questo post, abbiamo subito promesse in JavaScript e abbiamo spiegato le promesse con l'aiuto di un esempio.