NestJS 异步提供者
2023-09-08 14:25 更新
在完成一些异步任务之前,应用程序必须等待启动状态, 例如,在与数据库的连接建立之前,您可能不希望开始接受请求。 在这种情况下你应该考虑使用异步 provider。
其语法是使用 useFactory 语法的 async/await。工厂返回一个承诺,工厂函数可以等待异步任务。在实例化依赖于(注入)这样一个提供程序的任何类之前,Nest将等待承诺的解决。
{
provide: 'ASYNC_CONNECTION',
useFactory: async () => {
const connection = await createConnection(options);
return connection;
},
}
注入
与任何其他提供程序一样,异步提供程序通过其令牌被注入到其他组件。在上面的示例中,您将使用结构@Inject('ASYNC_CONNECTION')。
以上内容是否对您有帮助:
更多建议: