我们可以用不同的方式来定义async inline method,结果有什么不同吗?

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 .

在任何一种情况下,返回的future 都将在5秒的持续时间过后完成.它可能会也可能不会经历额外的中间微任务.

Dart相关问答推荐

为什么 Dart 程序在使用词法作用域时会根据声明变量的位置而表现不同?

如何将圆形边框设置为flutter上的MaterialButton?

flutter命令运行失败

Flutter热重新加载和热重启不工作

如何在 Flutter 的小部件树中将新的 MaterialPageRoute 作为子项打开

判断无状态小部件是否在Flatter中处理

Flutter Text 小部件中的 StrutStyle 是什么

如何从JSON对象获取格式化/缩进的JSON字符串?

Flutter:测试期间的计时器问题

如何在dart中获取 map 的键列表?

如何在 Dart 中获取当前脚本的目录?

Expansion Panel底部溢出

全局减慢 Flutter 中的动画

从 HttpClientResponse 检索响应正文

dart - 数字格式

是否有任何官方计划在 Google App Engine 上支持 Dart?

Dart 如何匹配然后替换正则表达式

如何在 Dart 中进行整数除法?

在 Dart 中克​​隆list列表、map或set集合

你如何在 Dart 中构建一个单例?