为什么在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/

10-09 02:54