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.9.2. Report an issue.