最近发现了一个异步导致的先后加载的问题,AB两个函数里都有异步操作,导致有时候A函数先加载,有时候B先加载,所以需要用 async await 解决这个问题,在异步函数async内,每次都会等待A函数执行完,再做其他函数操作。
drawAlarmBoxBase(row) {
this.bigCanvas = true;
this.$nextTick(async () => {
var canvas = document.getElementById("alarmBigCanvas");
var newImg = new Image();
// newImg.crossOrigin = 'anonymous';
newImg.setAttribute("crossOrigin", "*");
newImg.src = row.alarmPicture;
newImg.onload = await this.onloadImg(canvas, row, newImg);
});
},