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



为什么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只是开创了未来,然后忘记了它

最新更新