【问题标题】:How to define asynchronous build functions in Flutter?如何在 Flutter 中定义异步构建函数?
【发布时间】:2020-04-20 02:39:31
【问题描述】:

我正在为 Flutter 移动应用程序编写一个小部件,并且我编写了一个从 API 获取天气信息的函数。 API 函数是一个异步函数,在 API 调用返回后使用 await 返回并获取信息。这是最简单的代码。

Future<Int> getTemp() async {
    // get api call
    return temp
}

class TempTextState extends State<WeatherData> {
    @override
    Widget build(BuildContext context) async {
         return Text(await getTemp());
    }
}

这似乎可行,但后来我意识到异步函数必须返回 Futures,并且 build 返回一个 Widget,而不是 FutureWidget。我想使用异步函数为我获取数据,但我想不出在非异步函数中使用异步函数的方法。如何逃离异步地狱?

【问题讨论】:

    标签: flutter asynchronous dart async-await mobile-development


    【解决方案1】:

    Flutter 具有相同的选项 async-await 文章以及最佳实践使用 FutureBuilder。如果您想第一次调用服务,请编写您的代码初始化状态。 我正在添加示例未来构建器代码 => Repo

    查看您的代码示例:

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 2019-12-29
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 2019-04-10
      • 2018-09-14
      相关资源
      最近更新 更多