为什么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关键字?那么,为什么我们不在onPressed
中的_launchURL
之前使用await关键字呢?
正如评论中所说,您没有调用函数,因此没有什么可等待的。然而,onPressed
实际上期望任何具有void
返回类型的函数,这意味着它不会等待您给它的任何函数
所以基本上,onPressed只是开创了未来,然后忘记了它