Quali metodi di lavoro con il codice asincrono conosci?
sobes.tech AI
Risposta dell'AI
Callbacks, Promesse, async/await.
Callbacks: Funzioni passate come argomento ad altre funzioni, chiamate dopo il completamento di un'operazione asincrona.
Promesse: Oggetti che offrono un modo più comodo di gestire l'asincronia rispetto ai callback. Hanno stati pending, fulfilled e rejected.
// Esempio di Promise
function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Operazione completata con successo!');
}, 1000);
});
}
asyncOperation()
.then(result => console.log(result))
.catch(error => console.error(error));
async/await: Zucchero sintattico sulle Promesse, che rende il codice asincrono più simile a quello sincrono e ne migliora la leggibilità.
// Esempio di async/await
async function performAsyncOperation() {
try {
const result = await asyncOperation();
console.log(result);
} catch (error) {
console.error(error);
}
}
performAsyncOperation();
Confronto tra metodi:
| Metodo | Leggibilità / Manutenibilità | Gestione degli errori | Controllo del flusso |
|---|---|---|---|
| Callbacks | Meno leggibile (Callback Hell) | Difficile | Difficile |
| Promesse | Migliorata | Comodo (.catch) | Comodo (.then, .catch) |
| async/await | Migliore | Comodo (try...catch) | Comodo (await) |
Il metodo più preferito nelle applicazioni Node.js moderne è l'uso di async/await per la sua leggibilità e comodità. Le Promesse rimangono uno strumento importante, specialmente a livello di basso livello. I callbacks sono usati in codice obsoleto o per operazioni di basso livello nel core di Node.js.