判断图片是否404
// 是否图片404
function imageLoad(imgurl) {
return new Promise(function(resolve, reject) {
var ImgObj = new Image() // 判断图片是否存在
ImgObj.src = imgurl
ImgObj.onload = function(res) {
resolve(res)
}
ImgObj.onerror = function(err) {
reject(err)
}
})
}
在网上查了资料 都是这么判断 if (this.imageLoad(sharePicture) == ‘rejected’) 的,一直走不进去if条件。以下是我验证可行的方法调用。
async function printFn() {
let img = []//需要判断的图片数组,自行替换
let imgarr=[]
for(let i=0;i<img.length;i++){
await imageLoad(img[i]).then(()=>{
//success callback
imgarr.push(img[i])
}).catch(()=>{
// console.log(img)
//fail callback
})
}
console.log(imgarr)
}
有其他方法可实现的,欢迎评论交流