async_return_with_no_await 린트 규칙

async_return_with_no_await 린트 규칙

async 함수에서 Future를 반환할 때 await를 쓰도록 안내하는 린트 규칙이에요. async 함수 안에서 Future를 그대로 return하면 대신 await를 붙여 주는 게 좋아요. (Dart 3.13에서 도입)

출처: async_return_with_no_await

본문

DO async 함수에서 Future를 반환할 때 await를 사용하세요.

BAD:

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

GOOD:

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

Enable

async_return_with_no_await 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 async_return_with_no_await를 추가해 주세요:

linter:
  rules:
    - async_return_with_no_await

대신 YAML 맵 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 async_return_with_no_await: true를 추가하면 돼요:

linter:
  rules:
    async_return_with_no_await: true

더 알아보기