• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Flutter Widget 之 FutureBuilder

武飞扬头像
juejin
帮助60

Flutter和Dart本质上是异步的,使用Dart的Futures,你可以管理IO而无需担心线程或死锁

但是,当涉及到Future时,您应该如何构建Widget?

输入FutureBuilder,处理的Future,就是Futures

FutureBuilder(
    future:http.get('http:awesome.data'),
    builder:_myBuilderFunction,
)

FutureBuilder可以让你轻松指导Future的当前状态,并选择在数据加载时显示什么内容和加载完成显示的内容

  1. 首先给一个FutureBuilder一个future

  2. 然后再给一个builder

  3. 确保使用connectionState检查future的态

  4. 再Future loading的时候给一个Widget 

  5. 最好检查一下是否有error,如果有就解决 snapshot.hasError

    FutureBuilder( future:http.get('http:awesome.data'), builder:(context, snaphot) { if (snapshot.connectionState == ConnectionState.done){ if (snapshot.hasError) { return SomethingWentWrong(); } else { return AwesomeData(snapshot.data); } } else { return CircularProgressIndicator(); } }
    )

你也可以使用其他的ConnectionState

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfbahh
系列文章
更多 icon
同类精品
更多 icon
继续加载