У меня очень большой проект с большим количеством компонентов и сервисов.
Я хочу создать другую службу, которую используют все компоненты. Эта служба будет вызывать запрос http get, который извлекает порядок компонентов (например, конфигурацию), и в соответствии с этим компоненты будут упорядочены на странице. Я хочу сделать вызов синхронным, чтобы компоненты не загружались до получения заказа. Я хочу сделать это, потому что я не хочу мерцать дисплей после загрузки компонентов. в основном как синхронный вызов ajax.
Мой код как ниже
Услуги
import { Injectable } from "@angular/core";
@Injectable()
export class ConfigService {
constructor() {
}
getUserConfigFromDB() {
//http request
;
}
}
Компонент
import { Injectable } from "@angular/core";
import {ConfigService} from "../app/services/ConfigService"
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'app';
constructor(private configService: ConfigService) { }
ngOnInit() {
this.configService.getUserConfigFromDB()
}
}
Эта служба будет использоваться многими компонентами.
Заранее спасибо.
РЕДАКТИРОВАТЬ1: Я думаю, что я не был ясен. Я не могу ничего изменить в компонентах, кроме как вызвать метод getUserConfigFromDB (). Я ищу точную альтернативу ajax (async: false). Я хочу, чтобы страница зависла, пока я не получу ответ от API.