У меня есть что-то вроде следующего:
var myTimeout;
function delayStuffUntil( when ){
if( myTimeout) clearTimeout( myTimeout );
myTimeout = setTimeout( stuff, when - Date.now() );
}
delayStuffUntil будет вызван хорошей сделкой, и, вероятно, он будет вызываться с тем же значением when несколько раз подряд.
Является ли setTimeout/clearTimeout достаточно дорогим, что я должен проверить текущую when на мое последнее значение when (и только менять таймеры, если они разные)?
Я думал об этом, но правда в том, что when немного сложнее сравнивать, и я решил, что преждевременная оптимизация - это корень всего зла, поэтому я мог бы работать, когда мне не нужно было.