프로바이더

종종 어플리케이션의 시작은 한 개 이상의 비동기 작업이 완료될 때까지 지연되어야 합니다. 예를 들어, 데이터베이스의 연결이 설립될 때까지 요청이 들어오는 것을 원치 않을 수 있습니다. 비동기 프로바이더를 사용하면 해결할 수 있습니다. 이에 대한 문법은 useFactory 문법과 함께 async/await를 사용하는 것입니다. 팩토리는 Promise를 반환하며 팩토리 함수는 비동기 작업을 await를 사용해 대기할 수 있습니다. Nest는 프로바이더에 의존 혹은 주입하는 모든 클래스의 인스턴스화 이전에 프로미스의 처리를 기다릴 수 있게 만들어 줍니다. { provide: 'ASYNC_CONNECTION', useFactory: async () => { const connection = await creat..
이전 챕터에서, DI의 다양한 측면과 Nest에서 이를 활용하는 방법을 다루었습니다. 생성자 기반 의존성 주입을 사용해 인스턴스를 클래스에 넣는 것이 그 예입니다. 지금까지 한 가지 주요한 패턴에 대해서만 알아봤습니다. 어플리케이션이 점점 복잡해질수록, DI 시스템의 모든 기능을 사용해야 합니다. 의존성 주입 기초 의존성 주입은 제어 역전(inversion of control, IoC) 기술입니다. 여기서 자체적으로 코드에서 수행하는 대신 의존성의 인스턴스화를 IoC 컨테이너(여기서는 NestJS의 런타임 시스템)에 위임합니다. 먼저, 프로바이더를 정의합니다. @Injectable() 데코레이터는 CatsService 클래스를 프로바이더로 지정합니다. import { Injectable } from '@..
프로바이더 프로바이더는 Nest의 근간이 되는 개념입니다. 많은 Nest의 기본 클래스들(services, repositories, factories, helpers 등)이 provider로 취급될 수 있습니다. 프로바이더의 가장 주된 아이디어는 의존성 주입입니다. 의존성 주입은 객체가 서로 다양한 관계를 생성할 수 있다는 점이며, 객체의 인스턴스를 연결하는 기능은 Nest 런타임 시스템에 위임될 수 있습니다. 앞선 컨트롤러 예제처럼, 컨트롤러는 HTTP 요청들을 처리하고, 더 복잡한 일들을 프로바이더에 위임합니다. 프로바이더는 모듈에서 프로바이더로 위임된 일반적인 자바스크립트의 클래스입니다. 서비스 간단하게 CatsService를 만들어 보겠습니다. 이 서비스는 데이터 저장소 및 검색의 역할을 하며, ..
턴태
'프로바이더' 태그의 글 목록