просроченные интервалы могут выполняться друг за другом без задержки, поэтому чаще всего используют таймауты
|
Octane,
Че то не верится. Какая разница? Можещь написать тестовый пример, простенький? |
это старая избитая тема, в интернете полно статей
Цитата:
перевод: http://habrahabr.ru/post/138062/ ну и еще до кучи http://alljs.ru/articles/timeout/setinterval |
Octane,
Почему же тогда тут setInterval не перекрывает setTimeout?
st=function(){return setTimeout(function(){console.log("setTimeout"); timeoutId=st()}, 3)}
si=function(){return setInterval(function(){console.log("setInterval")}, 3)}
stop=function(){setTimeout(function() {clearTimeout(timeoutId); clearInterval(intervalId)}, 3000)}
stop()
timeoutId=st()
intervalId=si()
i=100000000
console.time("cycle")
while(i--){}
console.timeEnd("cycle")
// cycle: 1796ms
// setTimeout
// setInterval
// setTimeout
// setInterval
// setTimeout
// setInterval
// ...
|
мне лень писать test case)
Resig говорит про время исполнения колбека, наверное как-то так http://habrahabr.ru/post/138062/#comment_4604133 пример будет выглядеть |
Цитата:
В идеале тут нужно использовать requestAnimationFrame. К слову, схема его использования схожа именно с setTimeout. |
Цитата:
Вообще, выглядит как баг. Видимо, побочный эффект от оптимизаций. |
function randomRGBColor() {
return Math.round(Math.random() * 0xFFFFFF).toString(16);
}
Вот такой вот HEX вариант ) |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:44. |