Junior — Middle
შეგიძლიათ თქვენი პროექტში FutureBuilder ვიჯეტის გამოყენების მაგალითი მოგვაწოდოთ?
sobes.tech AI
პასუხი AI-სგან
ჩემი ერთ-ერთი პროექტში მე გამოვიყენე FutureBuilder სერვერიდან ასინქრონული მონაცემების ჩატვირთვა და მათი ინტერფეისში ჩვენება. მაგალითად, 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('მომხმარებლების ჩატვირთვა ვერ მოხერხდა');
}
}
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('შეცდომა: \\${snapshot.error}');
} else if (snapshot.hasData) {
return ListView(
children: snapshot.data!.map((user) => ListTile(title: Text(user.name))).toList(),
);
} else {
return Text('მონაცემები არ არის');
}
},
);
}
ეს მიდგომა საშუალებას აძლევს ადვილად მართოთ ჩატვირთვის მდგომარეობები და UI-ს გამოაჩინოთ ასინქრონული ოპერაციის შედეგზე დაყრდნობით.