NestJS 공식 문서 Asynchronous providers

GGAE99·2023년 7월 2일
0

NestJS 공식 문서

목록 보기
5/33

Asynchronous providers

때때로 애플리케이션 시작은 하나 이상의 비동기 작업이 완료될 때까지 지연되어야 합니다.
예를 들어 데이터베이스와의 연결이 된 후에 요청을 받기 시작하려 하는 상황 등이 있습니다.
ansync providers를 사용하여 이를 달성할 수 있습니다.

useFactory 구문과 async/await구문을 함께 사용하는 것으로 이와 같은 비동기 작업을 처리할 수 있습니다. factoryPromise값을 리턴하고, factory function은 비동기 작업을 기다릴 수 있습니다.
Nest는 provider에 의해 의존성을 주입하려는 클래스를 인스턴스화하기 전까지 기다립니다.

{
  provide: 'ASYNC_CONNECTION',
  useFactory: async () => {
    const connection = await createConnection(options);
    return connection;
  },
}

injection

비동기 공급자는 다른 공급자와 마찬가지로 토큰으로 다른 구성 요소에 주입됩니다.
@Inject('ASYNC_CONNECTION') 이와 같은 구문으로 주입할 수 있습니다.

0개의 댓글