APP_INITIALIZER не работает в angular 5

Мне нужно загрузить конфигурацию из службы на начальном уровне Angular. Итак, для демонстрации я создал загрузочный модуль, класс загрузки и загрузил APP_INITIALIZER из ядра Angular в загрузочный модуль.

Проверьте следующий файл, я не вижу console.info ("Функция инициализации работает"), а также console.info ("ПОЛУЧИТЬ КОНФИГУРАЦИЮ РАБОТАЕТ")

Пожалуйста, поправьте меня, если что-то не так.

// Файл модуля boot.modue.ts

import { APP_INITIALIZER, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Boot, Config, Menu } from './../../core/classes';
import { MenusService } from './../services/';

export function init(_boot: Boot) {
  console.info("Init Function works");
  return () => {
    return _boot.getConfig();
  };
}


@NgModule({
  imports: [
    CommonModule
  ],
  declarations: [],
  providers: [Boot,
    { provide: APP_INITIALIZER, 
      useFactory: init, 
      deps: [Boot], multi: true 
    }]
})

export class BootModule {
  constructor() { }
}

// Файл класса boot.ts

import 'rxjs/add/operator/toPromise';

export class Boot {
    /**
     * getConfig
     */
    public getConfig(): Promise<any> {
        console.info("getConfig");
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                console.info("GET CONFIG WORKS");
                resolve();
            }, 3000);
        });
    }

    /**
     * initMenus
     */
    public initMenus() {

    }
}

Может быть, это просто опечатка, но вы определили функцию init и сослались на init1.

Juan Mendes 04.04.2018 16:34

Помимо init1, я не понимаю, почему это не должно работать. Можете ли вы воспроизвести проблему в Plunker или stackblitz?

Estus Flask 04.04.2018 16:37

init1 мистическим образом произошел при добавлении вопроса в StackOverflow, на самом деле, его init и проверили это локально, но не работает, даже не может видеть сообщения консоли.

ranjit redekar 04.04.2018 16:46

Хорошо, я проверю это на stackblitz и здесь.

ranjit redekar 04.04.2018 16:47

Кажется, что у вас все работает нормально: stackblitz.com/edit/angular-fz99h8?file=app%2Fapp.module.ts

David 05.04.2018 10:33
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
9
5
3 216
0

Другие вопросы по теме