Search

FutureBuilder

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
복사