avoid_void_async
避免返回 void
的 async
函数。
详情
#要将 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