手写用promise加载一张图片
# 问题: 手写用promise加载一张图片
当使用 Promise 加载图片时,我们可以创建一个返回 Promise 的函数,然后在 Promise 中加载图片。以下是一个手写的示例代码:
javascript
function loadImage(url) {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => {
resolve(img);
};
img.onerror = (error) => {
reject(error);
};
img.src = url;
});
}
const imageUrl = 'https://www.example.com/image.jpg';
loadImage(imageUrl)
.then((img) => {
document.body.appendChild(img);
console.log('Image loaded successfully');
})
.catch((error) => {
console.error('Error loading image:', error);
});
在这个示例中,loadImage
函数接收一个图片的 URL,返回一个 Promise。当图片加载成功时,Promise 被 resolve,并且将加载完成的图片传递给 then
方法;如果加载过程中发生错误,则 Promise 被 reject,并且会执行 catch
方法来捕获错误。