flutter - Flutter:使用await时的差异

标签 flutter asynchronous dart async-await

想象一下,我在asyncFuture<void>属性内调用返回类型为_uploadData的返回类型onPressedButton函数,并且UI不依赖于该函数调用。

第一个

onPressed: () async {
    await _uploadData();
},

或第二个
onPressed: () {
    _uploadData();
}

有什么区别吗?如果不是这样,那么第一个只是更好的做法吗?

最佳答案

是的,这些代码具有不同的行为。如果您使用async / await语法,则该代码将不会继续,并且将等到将来完成其工作。因此,如果您的UI不依赖于Future,请不要使用async / await。否则使用它。如果您想了解它,请打开the dart-pad counter sample并添加以下代码。

  void _incrementCounter() async{
    await Future.delayed(Duration(seconds: 5));
    setState(() {
      _counter++;
    });
  }

将_incrementCounter()方法转换为上述代码。

关于flutter - Flutter:使用await时的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61228280/

相关文章:

firebase - 要更新的 firestore 批量查询对我不起作用

datetime - 使用本地时区格式化日期/时间

dart - 绑定(bind)到 bool 属性

dart - 如何使用 Flutter 使用 GraphQL 订阅?

flutter 升级后带有基本身份验证问题的 Dart HttpClient

flutter - 如何在 Flutter 中更改主题?

php - PHP 中的异步 Web 服务

c# - 需要帮助检查用户并将其添加到多个异步角色

java - 多线程、并发、并行和异步编程之间有什么区别?

flutter - 如何使某物变恒定?