跳到主要内容

avoid_void_async

稳定
可用修复

避免返回 voidasync 函数。

详情

#

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 文件中,在 linter > rules 下添加 avoid_void_async

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_void_async

如果你使用 YAML 映射语法来配置 Linter 规则,则在 linter > rules 下添加 avoid_void_async: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_void_async: true