Я получил провайдера в app.module, который определен следующим образом:
{
multi: true,
deps: [ServiceA, ServiceB],
provide: HTTP_INTERCEPTORS,
useClass: HttpResponseInterceptor,
}
И он работает нормально.Проблема в том, что мне нужно, чтобы ServiceB конфигурировался с помощью заводской функции, а также serviceB необязательно , но что-то вроде этого не работает :
// Factory function
serviceBFactory = (param) => { // returns instance of my service or null, depends on param }
...
deps: [ ServiceA, { provide: ServiceB, useFactory: serviceBFactory } ]
...
Ошибка, которую я получаю:
Error: StaticInjectorError(AppModule)[InjectionToken HTTP_INTERCEPTORS -> [object Object]]:
StaticInjectorError(Platform: core)[InjectionToken HTTP_INTERCEPTORS -> [object Object]]
NullInjectorError: No provider for [object Object]!
Есть ли какой-то особый синтаксис для него или это невозможно по замыслу?