簡體   English   中英

在DOM准備就緒之前進行http調用

[英]Do http calls before DOM is ready Angular

我正在使用由angular-cli生成的Angular 5。

我想知道如何在DOM准備好並引導應用程序之前執行一些https調用。 我想這樣做是因為應用程序太大(該應用程序正在使用延遲加載)。 在網絡請求中,我看到了DOM執行其工作時可以用來進行http調用的時間浪費。

在這里,我們可以在chrome開發人員工具的“網絡”標簽中看到。 影像網絡

我嘗試像這樣在AppModule中添加提供程序:

{
  provide: APP_INITIALIZER,
  useFactory: (setup: SetupService) => () => setup.execute(),
  deps: [SetupService],
  multi: true
}

並在main.ts中執行以下操作:

setupSerice.setup().then(() => {
  platformBrowserDynamic().bootstrapModule(AppModule)
    .catch(err => console.log(err));
});

但我得到相同的結果。 setupService執行我的http調用。

我還能嘗試或做什么?

感謝您的建議。

我假設您得到的結果是等到服務返回后再引導。 如果您撥打了調用設置服務的服務,該怎么辦。 該第一個服務可以在調用設置服務后才返回諾言。 我相信一旦您兌現承諾,該應用程序就會啟動。

像這樣:ServiceCallerService

doIt():Promise<any>{
  return new Promise((resolve) => {
     this.setupService.execute();
     resolve();
   });
 }

setupService可以將您的數據存儲在一個行為主題中,然后您可以在需要時獲取它。

暫無
暫無

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

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