如何“重试”构建?

时间:2019-10-18 22:03:21

标签: flutter dart

我正在创建一个可恢复并显示html文本的应用程序,该文本在线存储在mysql主机上。 如果快照中没有任何数据,则应重试查询并重建视图,直到获取数据为止。

这是我用数据库中的数据创建窗口小部件的方式:

FutureBuilder(
        future: crud_database.getDatos(url),
        builder: (context, snapshot){
          if(snapshot.hasError) print(snapshot.error);

          if( snapshot.hasData){
            return WebView(
              initialUrl: UriData.fromString(snapshot.data[0]["webhtml"], mimeType: "text/html").toString() ,
              onWebViewCreated: (WebViewController webViewController){
                _controller.complete(webViewController);
              },
            );
          }else{
            return Center(
              child: CircularProgressIndicator(),
            );
          }


        },
      )

1 个答案:

答案 0 :(得分:1)

您可以使用Attribute2代替StreamBuilder,并创建一种处理重试并使用FutureBuilder通知UI的方法,如下所示:

Stream