目标:检查页面中的所有图片是否已经加载。如果是,则调用一个函数;如果没有加载完成,则再次检查是否所有图片都已加载。
我的尝试:
let checkImages = new Promise(resolve => { resolve(areCompleted()); });
function areCompleted() {
let images = document.querySelectorAll('img');
images = Array.from(images);
for (let i = 0; i < images.length; i++) {
if (!images[i].complete) {
return false;
}
}
return true;
}
如果所有图片都完成了加载,它会返回 true,否则返回 false。
checkImages.then(completed => {
if (completed) {
completedFunction();
} else {
// Check again
}
});
如果响应为真,则调用函数,如果不是...我不知道如何再次进行相同的检查,但我希望一直进行该检查,直到响应为真。
async
。我已经尝试过使用while
,但在3G网络中它会阻塞脚本。在async
中,我只知道两种方法:Promise
和async/await
函数。 - Angel Luis