Простой ответ - нет. Нет волшебного события, которое знает, когда ваше приложение будет завершено.
Чтобы сделать эту работу, вы должны предоставить событие.
Ваш код должен знать, когда он завершит загрузку, а затем отправить событие, на которое можно выполнить действие.
Проблема связана с тем, что никто не знает, закончен ли ваш код, кроме вас, разработчика. Вам нужно будет дождаться окончания загрузки каждого фрагмента, а затем, когда вы узнаете, что все закончено, вы все равно захотите дать браузеру время на рендеринг всего. Таким образом, вы отправите свое событие только после того, как предоставите браузеру это время.
Вы можете сделать это так:
class MyAppClass extends HtmlElement {
// The rest of your class is defined by you
codeAllFinished() {
setTimeout(() => {
this.dispatchEvent(new CustomEvent('all-finished));
},0);
}
}
Вы вызываете функцию codeAllFinished
только после того, как узнаете, что ваш код завершил сбор данных и создание элементов DOM.
Тайм-аут позволит браузеру отображать события, а затем вы отправите событие, чтобы кто-нибудь знал, что вы закончили.