avoid_void_async
Avoid async functions that return void.
This rule is available as of Dart 2.1.
This rule has a quick fix available.
Details
#DO mark async functions as returning Future<void>.
When declaring an async method or function which does not return a value, declare that it returns Future<void> and not just void.
BAD:
void f() async {}
void f2() async => null;GOOD:
Future<void> f() async {}
Future<void> f2() async => null;EXCEPTION:
An exception is made for top-level main functions, where the Future annotation can (and generally should) be dropped in favor of void.
GOOD:
Future<void> f() async {}
void main() async {
await f();
}Usage
#To enable the avoid_void_async rule, add avoid_void_async under linter > rules in your analysis_options.yaml file:
linter:
rules:
- avoid_void_asyncUnless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2024-07-03. View source or report an issue.