NestJS 異步提供者

2023-09-08 14:25 更新

在完成一些異步任務(wù)之前,應(yīng)用程序必須等待啟動狀態(tài), 例如,在與數(shù)據(jù)庫的連接建立之前,您可能不希望開始接受請求。 在這種情況下你應(yīng)該考慮使用異步 provider。

其語法是使用 useFactory 語法的 async/await。工廠返回一個承諾,工廠函數(shù)可以等待異步任務(wù)。在實(shí)例化依賴于(注入)這樣一個提供程序的任何類之前,Nest將等待承諾的解決。

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

注入

與任何其他提供程序一樣,異步提供程序通過其令牌被注入到其他組件。在上面的示例中,您將使用結(jié)構(gòu)@Inject('ASYNC_CONNECTION')。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號