我有类似以下内容:
var myTimeout;
function delayStuffUntil( when ){
if( myTimeout) clearTimeout( myTimeout );
myTimeout = setTimeout( stuff, when - Date.now() );
}
delayStuffUntil
将被称为一笔交易,并且很有可能连续多次使用相同的when
值对其进行调用。setTimeout
/ clearTimeout
是否足够昂贵,以至于我不应该将自己的when
的上一个值与当前when
进行比较(并且仅在不同时更改计时器)?我曾考虑过这样做,但事实是
when
的比较有点麻烦,而且我认为过早的优化是万恶之源,因此我可能在不需要时就开始工作。 最佳答案
setTimeout
和clearTimeout
本身并不是很昂贵。
实际上,您需要担心的是“东西”功能。
如果东西需要很长时间才能运行,那么如果它被频繁调用,可能会阻塞UI。
关于javascript - setTimeout/clearTimeout昂贵吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9072472/