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
- Configurare lo startup di applicazioni server e client con .NET Aspire
- Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
- Fornire parametri ad un Web component HTML
- Eliminare una project wiki di Azure DevOps
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Integrare SQL Server in un progetto .NET Aspire
- Utilizzare Locust con Azure Load Testing
- Selettore CSS :has() e i suoi casi d'uso avanzati
- Creare agenti facilmente con Azure AI Agent Service
- Recuperare App Service cancellati su Azure
- Path addizionali per gli asset in ASP.NET Core MVC
- Managed deployment strategy in Azure DevOps


