当您进入JavaScript函数并想要更新canvas元素时,只有在函数返回时才会进行更新。有时希望更新画布并保持函数运行。有没有办法实现这个目标?
答案 0 :(得分:1)
一般来说:不,没有直接的方法可以做到这一点,因为浏览器会阻止每个ui事件,直到其脚本例程终止。这包括更新画布(甚至关闭浏览器窗口,例如当脚本进入无限循环时,您可能已经在之前的某个地方看到过)。
无论如何,或多或少的丑陋方式是在你想要更新画布的位置使用setTimeout:
function reactOnSomething(){
doSomeStuff();
drawMyCanvas();
setTimeout(function(){
goOnWithOtherStuff();
}, 20);
}