Junior — Middle
Könnten Sie ein Beispiel dafür geben, wie Sie das Widget FutureBuilder in Ihrem Projekt verwendet haben?
sobes.tech KI
Antwort von AI
In einem meiner Projekte habe ich FutureBuilder verwendet, um Daten asynchron vom Server zu laden und in der Benutzeroberfläche anzuzeigen. Zum Beispiel beim Laden einer Benutzerliste von einer API:
Future<List<User>> fetchUsers() async {
final response = await http.get(Uri.parse('https://api.example.com/users'));
if (response.statusCode == 200) {
return parseUsers(response.body);
} else {
throw Exception('Fehler beim Laden der Benutzer');
}
}
Widget build(BuildContext context) {
return FutureBuilder<List<User>>(
future: fetchUsers(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Fehler: \\${snapshot.error}');
} else if (snapshot.hasData) {
return ListView(
children: snapshot.data!.map((user) => ListTile(title: Text(user.name))).toList(),
);
} else {
return Text('Keine Daten');
}
},
);
}
Dieser Ansatz ermöglicht eine bequeme Verwaltung der Ladezustände und die Anzeige der UI basierend auf dem Ergebnis der asynchronen Operation.