功能:
window.addEventListener("DOMContentLoaded" , function(){});
要么
window.addEventListener("load" , function(){});
它允许我执行任何操作,就像它在DOM中加载两种方法之间的某些特殊性一样快。
这是 "as soon as"
但是,如何无限期等待加载DOM?
并加载DOM,执行功能?让我解释一下:假设我有一个函数,任何人。
cube cube = n => Math.pow (n, 3);
if (document.readyState === 'complete') cube (3);
假设立方体函数在我的代码中是FUNDAMENTAL。
但是,如果尚未加载DOM,则该函数将不会执行。
因此,如何无限期等待直到DOM加载,并推迟另一个函数,该函数会响应此主函数(多维数据集)
因此,如果我的脚本到了这一点并且DOM没有加载,那么所有这些功能将没有任何价值。
我的重点而不是
“如果发生这种情况,请执行此操作”
是:
“请等待,然后执行”
第一步:创建一个在DOMContentLoaded处理程序和cube
函数中均可见的变量。它的值应该是该处理程序解决的承诺。例如:
const DOMLoaded = new Promise((resolve, reject) => {
document.addEventListener("DOMContentLoaded", resolve);
// consider creating reject-on-timeout
// with something like setTimeout(reject, 60000 * 10);
});
第二步:通过调用cube()处理此诺言解析:
DOMLoaded.then(() => cube(3));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句