Junior — Middle
Lutfa qilasizmi, sizning loyihangizda FutureBuilder vidjetidan qanday foydalanilganligini misol bilan keltira olasizmi?
sobes.tech AI
AIdan javob
Bir proyektymde, FutureBuilder kullanarak sunucudan asenkron veri yükleme ve bunları arayüzde gösterme işlemini gerçekleştirdim. Məsələn, API-dən istifadəçi siyahısı yükləyərkən:
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('İstifadəçilər yüklənə bilmədi');
}
}
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('Xəta: \\${snapshot.error}');
} else if (snapshot.hasData) {
return ListView(
children: snapshot.data!.map((user) => ListTile(title: Text(user.name))).toList(),
);
} else {
return Text('Məlumat yoxdur');
}
},
);
}
Bu yanaşma yükləmə vəziyyətlərini rahat idarə etməyə və asinxron əməliyyatın nəticəsinə əsasən UI-ni göstərməyə imkan verir.