异步加载图片
1. 使用场景
在图片访问比较慢的情况,可以优先给图片设置灰色的等待加载图,等到图片加载完成,替换原来的灰色占位图片。达到图片未加载时结构不乱,拥有页面效果;
2. JS 实现
// 异步加载图片
export function loadImageAsync(url) {
return new Promise(function(resolve, reject) {
const image = new Image();
image.src = url;
image.onload = function() {
resolve(image); // 返回 img 对象
resolve(url); // 也可返回 url 地址
};
image.onerror = function() {
reject(new Error('Could not load image at ' + url));
};
});
}
在需要异步加载图片的时候,引入。
import { loadImageAsync } from "地址"
const imgUrl = DefaultImg;
const dataImg = "图片请求地址";
loadImageAsync(dataImg).then(res => {
imgUrl = res; //赋值新的 url
}).catch(err => {
console.log(error);
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步