gpt4 book ai didi

dart - `async inline methods` 的这些定义有什么区别?

转载 作者:行者123 更新时间:2023-12-05 04:26:40 25 4
gpt4 key购买 nike

我们可以用不同的方式定义异步内联方法,结果或底层有什么不同吗?

1. 
Future<void> counter() async => await Future<void>.delayed(
const Duration(seconds: 5),
() => print('Result'),
);

2.
Future<void> counter() async => Future<void>.delayed(
const Duration(seconds: 5),
() => print('Result'),
);

3.
Future<void> counter() => Future<void>.delayed(
const Duration(seconds: 5),
() => print('Result'),
);

最佳答案

时间,如果有的话。

async => await 版本在返回之前等待由 Future.delayed 创建的延迟 future 完成,然后完成返回的 future 。async => 版本应该做同样的事情,因为 await 隐含在返回中。=> 版本直接返回由 Future.delayed 创建的 future 。

无论哪种情况,返回的 future 都将在 5 秒持续时间过后完成。它可能会也可能不会通过额外的中间微任务。

关于dart - `async inline methods` 的这些定义有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73002064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com