【问题标题】:Calling await inside an onTap closure in Flutter在 Flutter 的 onTap 闭包中调用 await
【发布时间】:2021-07-16 02:35:37
【问题描述】:

我有一个写入SharedPreferences 对象的按钮。创建SharedPreferences 的实例是异步的,就像写入它一样。

我对 onTap 闭包的第一个实现是:

Future<void> saveUserName() async {
    print("Saving user: $this");
    final prefs = await SharedPreferences.getInstance();
    await prefs.setString('name', 'Joe User');
  }

困扰我的是这个事件处理程序中的两个await 调用。这会阻止 GUI 吗?

最好的方法是什么?

【问题讨论】:

  • 不,这不会阻止 GUI。这是最好的方法。查看此视频youtube.com/watch?v=SmTCmDMi4BY
  • async/await 不会阻止任何东西,但会延迟进一步的执行。 GUI 上的其他操作,如渲染或动画,将继续正常工作。
  • 谢谢!如果您将此作为答案发布,我很乐意接受它

标签: flutter dart asynchronous async-await


【解决方案1】:

async/await 不会阻塞任何 GUI。您的其他操作将照常进行。这就是我们在 dart 中所说的异步编程。

【讨论】:

    猜你喜欢
    • 2019-04-18
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 2021-05-20
    • 2021-05-16
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多