Le Promise sono gli oggetti che permettono al JavaScript di gestire la programmazione asincrona. Molto spesso nel nostro codice usiamo solamente il metodo 'get', che come possiamo immaginare permette di ottenere il risultato dell'operazione asincrona, ma esistono anche altri metodi e utility che ci permetteranno di gestire tutte le varianti.
Partiamo dalla definizione di una promise risolta (resolve) e una fallita (reject).
const promise1 = new Promise((resolve, reject) => {
resolve('Success!');
});
const promise1 = new Promise((resolve, reject) => {
reject('Exception')
// o anche
// throw 'Exception';
});
Dobbiamo ora leggere questi valori utilizzando i metodi then e catch.
Promise.resolve('OK').then((value) => {
console.log(value); // "OK"
})
///
Promise.reject('NO').then((value) => {
console.log(value);
}).catch((error) => {
console.log(error); // "NO"
});
Infine, se volessimo eseguire operazioni sia in caso di successo che di rigetto, utilizzeremo finally.
Promise.resolve('OK').then((value) => {
console.log(value); // "OK"
})
///
Promise.reject('NO').then((value) => {
console.log(value);
}).catch((error) => {
console.log(error);
}).finally(()=>{
console.log("promise completata")
});
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare memory leaks nelle closure JavaScript
Effettuare un clone parziale di un repository di GitHub
Raggruppare risorse in .NET Aspire
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Personalizzare i parametri del CSS Scroll Snap
Importare un servizio esterno in .NET Aspire
Montare Azure Blob Storage su Linux con BlobFuse2
Validazione personalizzata nelle Minimal API di ASP.NET Core
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Esporre workflow come server MCP con Azure Logic Apps


