Contents
Contents

Await only futures.

This rule is available as of Dart 2.0.0.

Rule sets: core, recommended, flutter

This rule has a quick fix available.

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:

dart
main() async {
  print(await 23);
}

GOOD:

dart
main() async {
  await null; // If a delay is really intended.
  print(23);
}

Usage

#

To enable the await_only_futures rule, add await_only_futures under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - await_only_futures