Skip to main content

Що робить ключ useFactory?

Ключ useFactory каже Angular:

«Створи залежність за допомогою моєї функції (фабрики), а не просто через клас чи значення.»


Приклад:

ts
providers: [ { provide: 'API_URL', useFactory: () => { return window.location.hostname === 'localhost' ? 'http://localhost:3000' : 'https://api.example.com'; } } ]

Тут Angular під час запуску викличе цю функцію і підставить її результат (API_URL) у залежності.


Коли це потрібно:

  • коли значення потрібно обчислити динамічно;
  • коли воно залежить від умов (середовища, налаштувань, токена тощо);
  • коли потрібно використати інші залежності всередині фабрики.

Приклад із залежністю:

ts
providers: [ { provide: ConfigService, useFactory: (apiUrl: string) => new ConfigService(apiUrl), deps: ['API_URL'] // залежності для фабрики } ]

Підсумок: useFactory - це спосіб сказати Angular: «отримай залежність, викликавши мою функцію, яка сама вирішить, що повернути».

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.