> я делаю приложение, которое использует запрос http для получения данных с сервера
Я хочу иметь возможность обновить страницу sh, используя refre sh индикатор-виджет, метод refre sh которого каждый раз вызывает мой запрос get
Future<void> fetch() async {
const url = "https:*********.firebaseio.com/nodes.json";
final response = await http.get(url);
final extractedData = json.decode(response.body) as Map<String, dynamic>;
List<Node> value = [];
extractedData.forEach((key, v) {
value.add(
Node(cpu: v['cpu'], memory: v['memory'], isLeader: v['_isleader']));
setState(() {
_nodes = value;
});
});
}
void initState() {
setState(() {
_isLoading = true;
});
fetch().then((_) {
setState(() {
_isLoading = false;
});
});
super.initState();
}
body: RefreshIndicator(
onRefresh: fetch,
child: _isLoading == true
? Center(
child: CircularProgressIndicator(),
)
: Stack(
children: <Widget>[
Padding(
padding: EdgeInsets.all(10),
child: Align(
alignment: Alignment.bottomCenter,
child: Image.network(
"https://rendr.com.au/wp-content/uploads/2018/10/Website-Maintenance-Animation.gif",
),
),
),