需求:
按顺序画出数据里的图片
问题:
onload的顺序,不是按数据顺序,是谁先加载完谁先drawImage
解决:
1.给每个对象设置个flag,onload一张图就将那条数据设置flag=true,当所有图片的flag都为true时,再进行drawImage
for (var a =0;a<test.length;a++ ){
let img=new Image;
img.crossOrigin="anonymous"
img.src = test[i].img
img.onload = (function(i) {
return function () {
test[i].onload = true
if (test.every(x => x.onload==true)){
that.drawFunc(ctx,c)
}
}
});
}
2.先把所有图画出来,然后再按顺序排序
我数据结构比较复杂,不太适合用这个,这个可以百度一下,数据简单的用这个也行