Я создал плагин на чистом JavaScript и хотел создать одно событие, которое сработает, когда мой плагин будет готов.
Чтобы какой-то другой код JavaScript мог подписаться на это событие и действовать после того, как плагин будет готов.
В настоящее время я придерживаюсь простого подхода, описанного ниже.
var pluginLoadEvent = new CustomEvent(
"plugin-ready",{
bubbles: true,
cancelable: true
}
);
И отправьте это событие, как только плагин будет готов:
document.dispatchEvent(pluginLoadEvent);
Событие подписано нанапример:
document.addEventListener('plugin-ready',window.function_after_plugin_ready);
Проблема заключается в том, что мое CustomEvent создается и отправляется в файле, отличном от подписок, что вызывает проблемы состояния гонки, когда событие отправляется до подписок.
Как я могу гарантировать, что подписки произойдут до отправки?