您好我有以下功能帆布畫已被碼圖像下方
render = function (ctx, img, W, H) {
ctx.drawImage(img, 0, 0, W, H, 0, 0, W, H);
}
我從另一個功能
renderImage(ctx, img, width, height);
for(var i = 0; i < 10000000 ; i++) {
// en expensive for loop
}
的問題,我面對的圖像不會加載調用該函數在瀏覽器中,直到for循環完成執行,但是不清楚爲什麼圖像會一直等到for循環結束。任何人都可以幫忙如何在不等待循環完成執行的情況下加載它?
'context.drawImage' should be 'ctx.drawImage' – grateful
當你說「*不加載*」時,你的意思是「不渲染」是正確的?這是因爲這是JavaScript的工作原理。它是單線程的,如果你執行一個for循環,它會阻塞任何東西,直到執行過程結束。將你的循環拆分成多個較小的循環,用超時或者在requestAnimationFrame中調用它們。 – Kaiido