簡體   English   中英

angular APP_Initializer中如何調用服務?

[英]How to call a service in angular APP_Initializer?

我想在應用程序 onInit() 之前加載 api 數據。 我無法注入服務依賴項。

我怎么能注入呢?

 import { GetComissionService } from '../app/services/get-comission.service'; function initializeApp(comissionService: GetCommissionService): Promise<void> { return new Promise((resolve, reject) => { GetComissionService.getCommission('item').subscribe(data => { console.log(data); resolve(); }) }); } @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, HttpClientModule ], providers: [{ provide: APP_INITIALIZER, deps: [GetComissionService], useFactory: () => initializeApp, multi: true }], bootstrap: [AppComponent] })

編輯 1:添加錯誤消息圖像

注入服務時出現這些錯誤

在此處輸入圖像描述 在此處輸入圖像描述

您還需要在該服務的initializeApp function 上有一個參數。 嘗試這個:

export function initializeApp(comissionService: GetCommissionService): Promise<any> {
  return new Promise((resolve, reject) => {
    comissionService.getCommission('item').subscribe(data => {
      console.log(data);
      resolve();
     })
  });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM