Если вы просто хотите, чтобы простая функция выполнялась каждые несколько секунд, вы можете использовать setInterval
.
setInterval
запланирует вызов вашего обратного вызова с указанным регулярным интервалом.Если ваш обратный вызов занимает больше времени, то для завершения «отложенного» вызова по ожиданию запускается как можно скорее.Если для его завершения требуется больше двух интервалов, он игнорирует старые «галочки» и сохраняет только последний.
var task_is_running = false;
setInterval(function(){
if(!task_is_running){
task_is_running = true;
do_something(42, function(result){
task_is_running = false;
});
}
}, time_interval_in_miliseconds);
Хорошее объяснение setInterval и сравнение с setTimeout см. * 1009.*