FutureBuilder(
future: getNumber(),
builder: (context, snapshot) {
return Column(
children: [
Text("Future Builder"),
Text("ConState : ${snapshot.connectionState}"), // shows if connection is waiting or done (shows done even when error occurs)
Text("Data : ${snapshot.data}"), // shows the snapshot data (returned by future)
Text("Error : ${snapshot.error}"),
FilledButton.tonal(
onPressed: () {
setState(() {}); // setState uses cache and do not show the loading process
},
child: Text("RESET"))
],
);
,
),
Future<int> getNumber() async {
await Future.delayed(
Duration(seconds: 3)); // wait(delay) 3 seconds before moving on
final random = Random();
return random.nextInt(100); // choose random number between 0-100
}
Dart
복사


