Una Promise rappresenta un valore che arriverà in futuro: una risposta di rete, un file, un timer. Ha tre stati: pending, fulfilled, rejected.
async function caricaUtente(id) {
try {
const res = await fetch("/api/users/" + id);
const user = await res.json();
return user;
} catch (err) {
console.error("Richiesta fallita", err);
}
}
async/await è solo zucchero sintattico sulle Promise: await mette in pausa la funzione finché la Promise non si risolve, senza bloccare il resto della pagina. Il codice si legge dall'alto in basso come se fosse sincrono.
Ricorda: await funziona solo dentro una funzione async, e avvolgere tutto in try/catch è ciò che ti salva quando la rete fa i capricci.