Skip to main content

async_return_with_no_await

Learn about the async_return_with_no_await linter rule.

Unreleased
Fix available
Released in Dart 3.13

Return with no await.

Details

#

DO use await when returning a Future from an async function.

BAD:

dart
Future<String> futureString(Future<String> value) async {
  return value;
}
Future<int> futureInt(Future<int> value) async => value;

GOOD:

dart
Future<String> futureString(Future<String> value) async {
  return await value;
}
Future<int> futureInt(Future<int> value) => value;

Enable

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - async_return_with_no_await

If you're instead using the YAML map syntax to configure linter rules, add async_return_with_no_await: true under linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    async_return_with_no_await: true