| 
 Сколько раз запускается конструктор сервиса? Всегда считал, что если объявить сервис на уровне главного модуля приложения и добавить к нему providedIn: 'root', то данный клас принимается приложением как синглтон и инициируется единожды. Т.е. конструктор данного класса запустится 1 раз на протяжении жизни приложения. Но при реализации сервиса SettingService, который должен кормить все приложение глобальными настройками получилась какая-то чушь.  
@Injectable({
	providedIn: 'root'
})
export class SettingService {
	constructor() {
		console.log("Go!");
	}
}
В этом случае, как и предполагалось, в консоль будет выведено Go! 1 раз. Но, если изменить конструктор так: 
constructor(
		private http: HttpClient,
		private $MSG: MsgList,
		public $NOTE: NotificationsService
	) {
		const globalVars = new GlobalVars();
		this.data = globalVars.cloneData();
		console.log("Go!");
		this.http.get<any[]>('http://api.com/preferenses')
		 	.subscribe( (data: any[]) => {
		 		console.log(data);
		 	});
	}
То надпись Go! выводится 272 раза. Вероятно имеется связь между количеством компонентов в приложении, которые подключают этот сервис и количеством вызовов. При этом понятно, что вызов бэка асинхронный и пойди пойми, чем занимается приложение, пока мы читаем данные. Тут 2 вопроса: 1. Почему меняется поведение конструктора. 2. Как синхронно прочитать данные с бэка из сервиса, чтобы приложение тормознуло, пока все не считается и потом работать с этими натройками. | 
| 
 Цитата: 
 По второму пункту: обычно такие штуки как настройки приложения загружают до бутстрапа этого приложения. Для этого необходимо создать свою кастомную реализацию провайдера для APP_INITIALIZER токена. https://blog.zverit.com/frontend/201...ervice-method/ | 
| 
 Провайдерм в каждом компоненте не объявлял. providedIn: 'root' был добавлен от великой печали и расстройства. Думал, может что-то не так делаю. APP_INITIALIZER -- погуглил. Интересно. Буду копать в этом направлении. Классная штука Ангуояр. Сколько работаешь с ним, а все время найдется какая-то штука, о которой даже понятия не имеешь. Спасибо за подсказку. | 
| Часовой пояс GMT +3, время: 22:11. |