22、Flutter Widget - FutureBuilder ;

333 阅读1分钟

  FlutterDart都是异步的。使用DartFutures可以轻松地管理IO而不用担心线程问题或死锁问题。

  在Flutter中当涉及到Future时,构建小部件可以使用FutureBuilder:

class FutureBuilderDemo extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
  final builder =  FutureBuilder(
      future: http.get('http://example.com'),
      builder: (context,snapshot){
        if(snapshot.connectionState==ConnectionState.done)
        return AwesomeData(snapshot.data);
        else return CircularProgressIndicator();
      }
    );
    return builder;
  }
}

  其中shapshot的链接状态包括:

ConnectionState.none;
ConnectionState.waiting;
ConnectionState.active;
ConnectionState.done;