[英]How to call a service in angular APP_Initializer?
I want to load api data before app onInit().我想在应用程序 onInit() 之前加载 api 数据。 I am not able to inject the service dependency.我无法注入服务依赖项。
How I can inject that?我怎么能注入呢?
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] })
EDIT 1: adding error message images编辑 1:添加错误消息图像
Getting these errors while injecting service注入服务时出现这些错误
You also need to have a parameter on the initializeApp
function for the service.您还需要在该服务的initializeApp
function 上有一个参数。 Try this:尝试这个:
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.