在函数返回之前更新画布

时间:2017-02-27 17:44:19

标签: javascript html5-canvas

当您进入JavaScript函数并想要更新canvas元素时,只有在函数返回时才会进行更新。有时希望更新画布并保持函数运行。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

一般来说:不,没有直接的方法可以做到这一点,因为浏览器会阻止每个ui事件,直到其脚本例程终止。这包括更新画布(甚至关闭浏览器窗口,例如当脚本进入无限循环时,您可能已经在之前的某个地方看到过)。

无论如何,或多或少的丑陋方式是在你想要更新画布的位置使用setTimeout:

function reactOnSomething(){
    doSomeStuff();
    drawMyCanvas();
    setTimeout(function(){
       goOnWithOtherStuff();
    }, 20);
}