이전 글 : 4. Scopes - 심화 다음 글 :

 

비동기 객체 관련 지원이 존재하는 이유. 비동기 작업(DB 연결, 네트워크 설정, 파일 I/O)이 필요한 객체의 생성과 초기화를 완벽하게 지원하기 위해서.

**주요 기능

  • 비동기 팩토리 (Async Factories): 객체에 접근할 때마다 매번 새로운 인스턴스를 비동기적으로 생성합니다.
  • 비동기 싱글톤 (Async Singletons): 비동기 초기화 로직을 거친 후 단일 인스턴스를 유지합니다.
  • 의존성 관리 (Dependency Management): 다른 비동기 객체가 준비될 때까지 기다린 후 초기화를 진행하도록 자동 설정할 수 있습니다.
  • 초기화 오케스트레이션 (Startup Orchestration): 복잡한 순서가 필요한 서비스들의 초기화 시퀀스를 조정합니다.
  • 수동 신호 (Manual Signaling): 특정 객체가 ‘준비 완료’되었음을 세밀하게 제어할 수 있습니다.

관련 메서드 요약.

메서드생성 시점인스턴스 개수생명주기최적의 용도
registerFactoryAsyncgetAsync() 호출 시마다매번 생성 (Many)요청 시마다 생성접근 시마다 새로운 비동기 작업이 필요한 경우
registerCachedFactoryAsync첫 접근 시 및 GC 이후메모리에 있을 때 재사용가비지 컬렉션 전까지비용이 큰 비동기 작업의 성능 최적화
registerSingletonAsync등록 즉시하나 (One)영구적앱 수준의 비동기 설정 서비스 (DB 등)
registerLazySingletonAsyncgetAsync() 호출 시하나 (One)영구적항상 필요하지는 않은 무거운 비동기 서비스
registerSingletonWithDependencies의존성 준비 완료 후하나 (One)영구적다른 서비스에 의존하는 비동기 서비스

비동기 팩토리

https://flutter-it.dev/documentation/get_it/async_objects#async-factories