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
Gestire gli errori nelle Promise JavaScript con try()
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Configurare automaticamente un webhook in Azure DevOps
Gestione CSS in Blazor con .NET 9
La gestione della riconnessione al server di Blazor in .NET 9
Integrazione di Copilot in .NET Aspire
Generare una User Delegation SAS in .NET per Azure Blob Storage
Introduzione ai web component HTML
Interagire con Azure DevOps tramite MCP Server
Gestire pubblicazione Kubernetes tramite .NET Aspire
Managed deployment strategy in Azure DevOps
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Sfruttare una CDN con i bundle di ASP.NET
- Inserire le news di Punto Informatico nel proprio sito
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit


