跳到主要内容

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 函数是一个例外,在顶层 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