Я получаю заголовок и нижний колонтитул приложения из внешних javascript файлов. Затем мне нужно преобразовать его в HTML и добавить его в заголовок HTML.
private loadScript() {
const dynamicScripts = [this.appConfig.config.scriptDetails.headerUrl];
for (const ds of dynamicScripts) {
const node = document.createElement('script');
node.src = ds;
node.type = 'text/javascript';
node.async = false;
document.getElementsByTagName('head')[0].appendChild(node);
}
this.setUIInterval = setInterval(() => {
if (UniversalHeader) {
const uhi = new UniversalHeader(this.uhConfig);
const headerElements = document.getElementById('universalHeader').getElementsByTagName('a');
this.newWindow(headerElements);
this.clearUIInterval();
}
}, 100);
}
Я вызываю loadScript () в onInit (). Здесь я использую setInterval, чтобы проверить, загружен ли скрипт, а затем добавляю его в заголовок. Здесь проблема заключается в том, что setInterval запускается как минимум 2 раза до загрузки скрипта. Поэтому я считаю, что это не очень хорошая идея. Есть ли альтернативные способы, которыми я могу добиться того же без setInterval? Пожалуйста, предложите. Спасибо.