下面是我们如何监听自定义事件的示例。这将允许您“等待”脚本并正常运行。
// This lives in you scrip dependancy.
const scriptReadyEvent = new CustomEvent('MyScriptLoaded', {
bubbles: true
});
// Dummy a delay in loading a script
function demoDelay() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('foo');
}, 2000);
});
}
// Listen for script loaded
document.addEventListener('MyScriptLoaded', () => {
console.log('Script is loaded');
});
// The script would do this.
demoDelay().then(() => {
document.dispatchEvent(scriptReadyEvent);
});