跳到主要内容

unnecessary_async

实验性

没有 await 就没有 async。

详情

#

不执行 await 的函数不必是 async

通常,这样的函数也不必返回 Future,这允许调用者避免在其代码中使用 await 等。一般来说,同步代码运行速度更快,并且更容易理解。

错误示例

dart
void f() async {
  // await Future.delayed(const Duration(seconds: 2));
  print(0);
}

正确示例

dart
void f() {
  // await Future.delayed(const Duration(seconds: 2));
  print(0);
}

启用

#

要启用 unnecessary_async 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 unnecessary_async

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_async

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 unnecessary_async: true

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_async: true