unnecessary_async 진단: async를 쓰지 않아도 되는 함수

unnecessary_async 진단: async를 쓰지 않아도 되는 함수

분석기가 내보내는 진단에는 이름이 있어요. unnecessary_async는 함수가 async로 표시돼 있는데 await를 전혀 쓰지 않을 때 Dart 분석기가 알려주는 진단이에요. async 수식어를 붙여도 실제로 비동기 작업을 기다리지 않는다면 불필요한 표시예요.

출처: unnecessary_async

본문

설명

분석기는 함수, 메서드, 클로저(closure)가 async로 표시돼 있는데 await 표현식이나 await for 문이 전혀 없을 때 이 진단을 만들어요. 이런 경우 async 수식어는 필요가 없고, 제거해도 코드 동작은 바뀌지 않아요.

예시

다음 코드는 함수 fasync로 표시돼 있는데 await를 쓰지 않기 때문에 이 진단을 만들어요.

void f() async {
  print('done');
}

흔한 해결 방법

async 수식어를 제거해요.

void f() {
  print('done');
}

더 알아보기