Java-скрипт для жирной обезьяны петли - PullRequest
1 голос
/ 16 декабря 2010

мне нужен цикл for или while, который будет перезапускать код каждую секунду, когда я пробовал sleep (), но я не думаю, что он работает, или я правильно понял

Ответы [ 2 ]

3 голосов
/ 17 декабря 2010

Не пытайтесь использовать цикл for или while для таких временных операций.Вы будете испытывать трудности с надежным или точным временем и, как правило, в конечном итоге ругаете процессор, что замедляет работу компьютера.

JavaScript обеспечивает функцию setInterval() для таких задач.Также обратите внимание, что у Greasemonkey есть некоторые предостережения о том, как использовать setInterval() и setTimeout().

Итак, код, который вам нужен, выглядит так:

var timerVar    = setInterval (function() {DoMeEverySecond (); }, 1000);

function DoMeEverySecond ()
{
    //--- Your code here.
}

//--- When ready to stop the timer, run this code:
clearInterval (timerVar);
timerVar        = "";
1 голос
/ 16 декабря 2010

попробуй

// where yourfunction is a method that contains your loop logic
setTimeout(yourfunction, 1000);

Это будет вызывать функцию каждые 1000 миллисекунд без необходимости вставлять ее в цикл while или for.

поместите это в ваше тело под нагрузкой или подобное событие

...