lgwebdream / FE-Interview

🔥🔥🔥 前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、Css、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器
https://lgwebdream.github.io/FE-Interview/
Other
6.82k stars 896 forks source link

Day193:完善下面函数,实现图片的加载 #1010

Open Genzhen opened 3 years ago

Genzhen commented 3 years ago
function createImg(url) {}
createImg(url).then((value) => {
  document.body.appendChild(value);
});

每日一题会在下午四点在交流群集中讨论,五点小程序中更新答案 欢迎大家在下方发表自己的优质见解 二维码加载失败可点击 小程序二维码

扫描下方二维码,收藏关注,及时获取答案以及详细解析,同时可解锁800+道前端面试题。

GuoLizhi commented 3 years ago

考虑到链式操作,需要返回一个Promise。

function createImg(url) {
    return new Promise((resolve, reject) => {
        let img = new Image()
        img.setAttribute('src', url)
        img.onload = () => {
            resolve(img)
            img = null
        }
        img.onerror = () => {
            img = null
            reject()
        }
    })
}

另外不知道这么回收img对不对....