unnecessary_async 진단: async를 쓰지 않아도 되는 함수
unnecessary_async 진단: async를 쓰지 않아도 되는 함수
분석기가 내보내는 진단에는 이름이 있어요. unnecessary_async는 함수가 async로 표시돼 있는데 await를 전혀 쓰지 않을 때 Dart 분석기가 알려주는 진단이에요. async 수식어를 붙여도 실제로 비동기 작업을 기다리지 않는다면 불필요한 표시예요.
본문
설명
분석기는 함수, 메서드, 클로저(closure)가 async로 표시돼 있는데 await 표현식이나 await for 문이 전혀 없을 때 이 진단을 만들어요. 이런 경우 async 수식어는 필요가 없고, 제거해도 코드 동작은 바뀌지 않아요.
예시
다음 코드는 함수 f가 async로 표시돼 있는데 await를 쓰지 않기 때문에 이 진단을 만들어요.
void f() async {
print('done');
}
흔한 해결 방법
async 수식어를 제거해요.
void f() {
print('done');
}