你可以使用Promise来封装onload事件,以便在图片加载完成后执行异步操作。以下是一个将图片加载过程封装成Promise的示例:
function loadImage(url) { return new Promise(function(resolve, reject) { var img = new Image(); img.onload = function() { resolve(img); // 图片加载完成,将img对象传递给resolve }; img.onerror = function() { reject(new Error('Image load failed')); // 图片加载失败,reject带上错误信息 }; img.src = url; // 设置图片的src,开始加载图片 }); } // 使用示例 var imageUrl = 'example.jpg'; // 替换成你的图片URL loadImage(imageUrl) .then(function(img) { // 图片加载成功,可以在这里对加载的图片执行操作 document.body.appendChild(img); // 例子中将图片添加到body中 }) .catch(function(error) { // 图片加载失败,可以在这里处理错误 console.error(error); });在这个示例中,loadImage函数返回一个Promise对象。当图片加载完成时,Promise会调用resolve,传递加载完成的图片对象。如果加载失败,Promise会调用reject,传递一个Error对象。这样,你就可以使用.then()和.catch()来处理图片加载的成功和失败情况。
网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?