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 көрсөтүүгө мүмкүндүк берет.