Я пытаюсь убедиться, что два элемента конфигурации загружены до запуска моего приложения при использовании Angular 6 и Typescript.Я хотел бы получить конечную точку API из файла конфигурации, а затем использовать эту конечную точку API для получения некоторых разрешений.Затем разрешения определяют, что должно отображаться на экране, поэтому я действительно хочу, чтобы они были загружены перед приложением.
Я прочитал несколько сообщений об этом, в том числе APP_INITALIZER не будет задерживать инициализацию , Конфигурация времени выполнения и Вложенные HTTP-запросы .Однако все они, похоже, требуют наличия одного config.service.ts, который обрабатывает всю необходимую загрузку конфигурации.Разве не лучше иметь один сервис для загрузки конечной точки API (и другие части конфигурации) и другой сервис для доступа к API?
Я собрал Plunker , который демонстрируетдве отдельные службы для получения информации.Консоль регистрирует различные шаги.Текущий вывод:
going to load app settings
getting permissions
undefined (This is the api endpoint retrieved from the config file)
Angular is running in the development mode. Call enableProdMode() to enable the production mode.
got appsettings
Я надеюсь, вы видите, что код пытается загрузить конечную точку и пытается использовать ее для одновременного получения разрешений.Конечная точка фактически извлекается после загрузки приложения.Я хотел бы получить конечную точку API, затем загрузить разрешения, а затем приложение загружается.Таким образом, желаемый вывод:
going to load app settings
got appsettings
getting permissions
https://webapi.endpoint/
Angular is running in the development mode. Call enableProdMode() to enable the production mode.
Я новичок в Angular, поэтому любая помощь или указатели будут оценены.
РЕДАКТИРОВАТЬ: Я нашел это сообщение но я не понимаю решение.Кажется, очень связано, если кто-нибудь может помочь мне снять его?