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
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Gestire gli errori nelle Promise JavaScript con try()
Utilizzare WhenEach per processare i risultati di una lista di task
Gestire progetti NPM in .NET Aspire
Utilizzare Intersect e Except per filtrare set di dati in TSql
Esporre un server MCP esistente con Azure API Management
Ricevere notifiche sui test con Azure Load Testing
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Importare repository da Bitbucket a GitHub Enterprise Cloud
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Recuperare App Service cancellati su Azure
Configurare automaticamente un webhook in Azure DevOps


