美文网首页
关于多张图片上传完毕后的渲染延迟问题

关于多张图片上传完毕后的渲染延迟问题

作者: 一个做笔记的地方 | 来源:发表于2018-11-21 22:24 被阅读0次

    最近在做某个项目的时候,有个地方需要上传多张图片。

    问题:图片上传中时,我们会给个loading提示正在上传,图片上传完毕,loading消失,图片展示出来。但是我发现,图片上传完毕loading消失后,有时候大概十几秒后图片才展示出来,这很影响用户体验。

    原因:图片在上传完毕后,需要一段时间load才能展示出来,而如果图片比较大且图片数量多的情况下,就会造成延迟较长时间的问题。

    解决办法:图片上传完毕后,待图片全部加载完成后再关闭loading。

    实现分析:定义一个变量count,遍历所有图片,每张图片load完成后count就加1,待count等于图片的总数量,就说明所有的图片加载完成。

    具体代码

    let count = 0;
    let len = imgList.length;
    for(let i=0;i<len;i++){
        let img = new Image();
        img.src = imgList[i].url;
        img.onload = function(){
            count++;
            if(count == len){
                // 图片全部加载完成
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:关于多张图片上传完毕后的渲染延迟问题

          本文链接:https://www.haomeiwen.com/subject/dqzdfqtx.html