Nest.js 异步 Provider 提供者

有时,应延迟应用程序启动,直到完成一个或多个异步任务。 例如,我们可能不想在与数据库的连接建立之前开始接受请求。 我们可以使用异步 provider 来实现这一点。

其语法是使用 async/awaituseFactory 语法。 工厂返回一个 Promise,工厂函数可以等待异步任务。 Nest 将在实例化任何依赖(注入)此类提供程序的类之前等待 Promise 的完成。

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

注入

异步 Provider 通过其令牌注入其他组件,就像任何其他提供者一样。 在上面的示例中,我们将使用构造 @Inject('ASYNC_CONNECTION')

查看笔记

扫码一下
查看教程更方便