Un Future représente une valeur disponible plus tard, par exemple le résultat d'une requête réseau. Le mot-clé async marque une fonction asynchrone et await attend le résultat sans bloquer l'interface. Les erreurs se gèrent avec try/catch comme dans du code synchrone.
Exemple
Future<String> charger() async {
final r = await http.get(url);
return r.body;
}