在完成一些異步任務之前,應用程序必須等待啟動狀態(tài), 例如,在與數(shù)據(jù)庫的連接建立之前,您可能不希望開始接受請求。 在這種情況下你應該考慮使用異步 provider。
其語法是使用 useFactory 語法的 async/await。工廠返回一個承諾,工廠函數(shù)可以等待異步任務。在實例化依賴于(注入)這樣一個提供程序的任何類之前,Nest將等待承諾的解決。
{
provide: 'ASYNC_CONNECTION',
useFactory: async () => {
const connection = await createConnection(options);
return connection;
},
}
與任何其他提供程序一樣,異步提供程序通過其令牌被注入到其他組件。在上面的示例中,您將使用結(jié)構(gòu)@Inject('ASYNC_CONNECTION')。
更多建議: