今天两次我遇到了以下代码片段:
function draw() {
setTimeout(draw, 100);
// Drawing code goes here
}
draw();
如果绘图部分的耗时超过100毫秒,此代码必须不同步?
答案 0 :(得分:0)
我完全同意你的意见,这不是最佳做法,它肯定会导致交叉电话。到"补丁"它可以快速创建一个外部锁(如果不是全局的),标记上一次执行已经完成它的工作,如果没有,只需退出。
如果是动画,更好的解决方案是使用requestAnimationFrame指出的原生函数Callum Linington。