await_in_late_local_variable_initializer

await_in_late_local_variable_initializer

Dart 애널라이저가 생성하는 await_in_late_local_variable_initializer 진단에 대한 설명이에요. late 수식어가 붙은 지역 변수의 초기화식에서 await 표현식을 사용할 때 발생해요.

출처: 원문

본문

late 수식어가 있는 지역 변수가 초기화식에서 await 표현식을 사용할 때 이 진단이 발생해요.

예시

아래 코드는 late로 표시된 지역 변수 v의 초기화식에서 await 표현식을 사용하기 때문에 이 진단을 만들어요.

Future<int> f(Future<int> future) async {
  late var v = await future;
  return v;
}

일반적인 수정 방법

초기화식을 await를 사용하지 않도록 다시 쓸 수 있다면 다시 써요.

Future<int> f(Future<int> future) async {
  late var v = future;
  return v;
}

초기화식을 다시 쓸 수 없다면 late 수식어를 제거해요.

Future<int> f(Future<int> future) async {
  var v = await future;
  return v;
}

더 알아보기

late 변수와 await, 비동기 프로그래밍에 대한 더 자세한 내용은 Dart 언어 문서와 API 문서를 참고해요.