flutter - 为什么在onPressed函数中不需要使用await关键字?

标签 flutter dart

为什么在onPressed函数中不需要使用await关键字?例如,有一个url_launcher插件。用法如下:

onPressed: _launchURL,
...
_launchURL() async {
  const url = 'https://flutter.dev';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}
dart是否要求在调用异步函数之前使用await关键字?那么,为什么我们不在_launchURL中的onPressed之前使用await关键字呢?

最佳答案

就像注释中所说的那样,您没有调用该函数,因此没有任何等待。
但是,onPressed实际上期望具有void返回类型的任何函数,这意味着它不会等待您提供的任何函数。
因此,基本上onPressed只是开始 future ,然后忘记它

关于flutter - 为什么在onPressed函数中不需要使用await关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64650918/

相关文章:

flutter - 重复多次子:GestureDetector

android - Flutter NetworkImage 处理 403 错误

dart - 以编程方式关注 InputField 并打开键盘

sqlite - 被解雇的 Dismissible 小部件仍然是 flutter 树的一部分

dart - 如何在 Flutter 中获取当前上下文?

widget - 在 Flutter 中实现双向 ListView

flutter - 是否可以在文本和下划线之间有一定高度的文本下划线?

flutter - 如何在Flutter中以编程方式更改Rive/Flare中渐变填充的开始/结束位置?

flutter - 我在Flutter/Dart异步代码执行方面遇到问题,因为它如何工作

flutter - json_serializable 增强型枚举不起作用。这需要启用 'enhanced-enums' 语言功能