Выполнение кода при инициализации приложения. Выполнение кода при инициализации приложения. angular init

Выполнение кода при инициализации приложения.

Open in new window

Выполнение кода при инициализации приложения.

Добавим в главный модуль функцию, которая отрабатывает при загрузке всего приложения перед ее отображением в браузер. В этой функции обычно выполняются сервисные операции по натройке приложения, например установка глобальных переменных.

import { APP_INITIALIZER } from '@angular/core';

export function init_app() {
  return () => {
    console.log('Init app');
  }
}

Добавим эту функцию в секцию provides.

providers: [ { provide: APP_INITIALIZER, useFactory: init_app, multi: true }, ],

APP_INITIALIZER - это токен Angular для иньекции ваших функций в процесс инициализации приложения перед его стартом.

По сути это экземпляр класса InjectionToken, который имеет следуее определение.

export const APP_INITIALIZER = new InjectionToken<Array<() => void>>('Application Initializer');

“multi: true” - Так как APP_INITIALIZER является массивом функций, этот параметр является обязательным для возможности добавления нового значения в этот массив.

useFactory - мы показываем что ходим использовать функцию-фабрику, которая должна вернуть функцию.

Other topics