Я создал объект goog.Timer
(http://closure-library.googlecode.com/svn/docs/class_goog_Timer.html) с new goog.Timer(1)
для запуска функции каждую миллисекунду путем прослушивания события тика. Однако вместо этого функция, казалось, работала каждые 100 миллисекунд.
Я предположил, что моей функции требуется некоторое время для запуска (и javascript, конечно, является однопоточным), поэтому потребовалось некоторое время, чтобы перейти к следующему раунду. Следовательно, я установил интервал для таймера на 100, и он надежно работал каждую 1/10 секунды.
Есть ли в библиотеке Google Closure более надежный таймер, который запускает функцию только с заданным интервалом? Если не хватает времени для запуска функции в одном цикле, я могу отменить предыдущий вызов и запустить его при следующей отправке тика.
goog.Timer
оборачивает роднойsetInterval
, который сам по себе, вероятно, недостаточно быстр, чтобы запустить вашу функцию за 1 мс. Вы уверены, что вам нужна такая степень детализации? Опрос в 1 мс — это жестоко. Нельзя ли использоватьgoog.events.listen
иdispatchEvent
? - person hyperslug   schedule 05.08.2012