await_only_futures
Await only futures.
Details
#AVOID using await on anything which is not a future.
Await is allowed on the types: Future<X>
, FutureOr<X>
, Future<X>?
, FutureOr<X>?
and dynamic
.
Further, using await null
is specifically allowed as a way to introduce a microtask delay.
BAD:
main() async {
print(await 23);
}
GOOD:
main() async {
await null; // If a delay is really intended.
print(23);
}
Enable
#To enable the await_only_futures
rule, add await_only_futures
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- await_only_futures
If you're instead using the YAML map syntax to configure linter rules, add await_only_futures: true
under linter > rules:
linter:
rules:
await_only_futures: true
Unless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2025-01-27. View source or report an issue.