Практикуя метод DI и Factory, я хочу передать некоторые параметры Factory. Итак, я написал что-то вроде этого:
const loggingImplementation: AnalyticsImplementation = {
recordEvent: (metric: Metric): void => {
console.log('The metric is:', metric);
console.log('Sending to', destUrl);
}
};
export function loggerFactory(http: HttpClient, destUrl: string): AnalyticsService {
return new AnalyticsService(loggingImplementation);
}
@NgModule({
imports: [CommonModule, HttpClientModule],
providers: [
{provide: 'API_URL', useValue: 'http://nsa.gov'},
{ provide: AnalyticsService, deps: [HttpClient, 'API_URL'], useFactory(http: HttpClient, destUrl: string): loggerFactory}
],
declarations: [ ]
})
export class AnalyticsDemoModule1 {
}
Но Angular выдает мне ошибку, говоря, что точка с запятой отсутствует после loggerFactory
, поэтому я думаю, что я не использую правильный синтаксис. Можете ли вы помочь мне сказать, что я делаю не так?