2014-09-22 3 views
0

Я использую фрагмент код здесь (http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery):опроса URL-адрес с SetTimeout без задержки первого опроса

(function poll(){ 
    setTimeout(function(){ 
     $.ajax({ url: "server", success: function(data){ 
     //Update your dashboard gauge 
     salesGauge.setValue(data.value); 

     //Setup the next poll recursively 
     poll(); 
     }, dataType: "json"}); 
    }, 30000); 
})(); 

опрашивать локальный URL на регулярной основе, чтобы проверить состояние записи. Однако я также хочу выполнить опрос сразу после загрузки страницы, тогда как вышеприведенный фрагмент инициирует цикл, который запускается только после периода таймаута (в этом случае 30 секунд).

Как я могу изменить приведенное выше опрос непосредственно, а затем каждые 30 секунд. :)

TIA!

+1

Вам действительно нужно нам для того ?????????????????????? –

+1

Вытащите анонимную функцию из setTimeout и поместите ее в именованную функцию. Вызовите его немедленно и вызовите его в тайм-аут. – jwatts1980

+0

Использовать именованную функцию, вызвать ее, а затем зарегистрировать ваш интервал не для вас? – InferOn

ответ

2

просто двигайте SetTimeout

(function poll(){  
     $.ajax({ url: "server", success: function(data){ 
     //Update your dashboard gauge 
     salesGauge.setValue(data.value); 
     setTimeout(poll, 30000);    
     }, dataType: "json"});  
})(); 
+0

Спасибо за конструктивный отклик. Некоторые из нас все еще учатся и не всегда могут видеть дерево для деревьев. –

Смежные вопросы