Почему useFactory не работает?

{
            provide: SETTINGS,
            useFactory: appInit,
            deps: [DocumentsSettings],
        },


export function appInit(settings: DocumentsSettings) {
    return () => settings.init();
}


Класс:

@Injectable()
export class DocumentsSettings implements Settings {
   @Injectable()
export class DocumentsSettings implements Settings {
    private readonly url = `${environment.apiUrl}/documents`;

    constructor(
        public filtersRepository: DocumentsFiltersRepository,
        public sortingRepository: DocumentsSortingRepository,
        private http: HttpClient,
    ) {}

    public init(): Promise<boolean> {
        return new Promise((resolve, reject) => {
            this.filtersRepository
                .init()
                .then(() => {
                    this.load().subscribe((response: ResponseSettings) => {
                        if (response) {
                            if (response.filters) {
                                this.filtersRepository.setResponse(response.filters);
                                this.filtersRepository.modifyDefault();
                            }

                            if (response.sortings) {
                                this.sortingRepository.setResponse(response.sortings);
                                this.sortingRepository.modifyDefault();
                            }
                        }

                        this.filtersRepository.filter();
                        this.sortingRepository.sort();
                        resolve(true);
                    });
                })
                .catch((e) => {
                    reject(e);
                });
        });
    }
 }


Использование:

constructor(
        @Inject(SETTINGS) private settings: Settings) {
             console.log(this.settings); // Дает () => settings.init()
}
  • Вопрос задан
  • 19 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 100 000 до 200 000 ₽
Orderz.pro Москва
от 100 000 до 200 000 ₽
DataFork Москва
от 100 000 до 140 000 ₽
19 янв. 2021, в 12:02
10000 руб./за проект
19 янв. 2021, в 12:01
2000 руб./за проект
19 янв. 2021, в 11:53
12000 руб./за проект