内容

avoid_void_async

避免返回 voidasync 函数。

此规则自 Dart 2.1 起可用。

此规则提供 快速修复

详情

#

async 函数标记为返回 Future<void>

在声明一个不返回值的 async 方法或函数时,请声明其返回 Future<void> 而不是 void

错误

dart
void f() async {}
void f2() async => null;

正确

dart
Future<void> f() async {}
Future<void> f2() async => null;

例外

顶级 main 函数除外,其中可以(并且通常应该)将 Future 注释改为 void

正确

dart
Future<void> f() async {}

void main() async {
  await f();
}

用法

#

要启用 avoid_void_async 规则,请在你的 analysis_options.yaml 文件中,将 avoid_void_async 添加到 linter > rules 下。

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_void_async