const loadImg = (url) => {
return new Promise((resolve) => {
let image = new Image();
let itemImg = url.src;
if (itemImg.indexOf('http') != -1) {
image.src = itemImg;
} else {
image.src = arr.bgUrl + itemImg;
}
console.log(image);
image.onload = () => {
resolve(image);
};
image.onerror = () => {
reject(`Errors on loading`);
};
});
};
const imgList = (list, context) => {
const imgQueue = [];
for (let i = 0; i < list.length; i++) {
imgQueue.push(loadImg(list[i]));
}
Promise.all(imgQueue).then((item) => {
for (var i in item) {
context.drawImage(item[i], list[i].x, list[i].y, list[i].width, list[i].height);
}
arr.textList.forEach((itemList) => {
textList(itemList, context);
});
});
};
图片404,图片上传时太慢了,导致我绘制的时候无法成功
想要进行对路径的判断是否上传完成,如果404那就进行等待,如果上传完成则开始绘制
能够绘制出来
let Img = new Image()
Img.src = this.full_img_src
if (Img.fileSize > 0 || (Img.width > 0 && Img.height > 0)) {
} else {
return this.$message.error('找不到该图片...')
}
上传也是有成功与失败的回调的,promise。all包一下全部上传的,然后上传完成过后再去调用加载和绘制