Выполнить функцию без задержки при первой загрузке страницы и далее ее же в setInterval

Я хочу выполнить функцию без задержки при первой загрузке страницы и далее эту же функцию хочу выполнять в setInterval.

Сейчас при готовности документа функция showGraphTest выполняется, но при первой загрузке страницы всё равно приходится ждать 30 секунд до его появления.

$(document).ready(function () {                
  setInterval(function(){
    showGraphTest();
  }, 30000, true);              
}); 

Подскажите пожалуйста, как сделать выполнение функции при первой загрузке страницы сразу а затем использовать setInterval?

Думал сделать цикл со счетчиком но что брать за основу, ума не приложу..


Ответы (2 шт):

Автор решения: Алексей Шиманский
$(document).ready(function () {                
    showGraphTest();

    setInterval(function(){
        showGraphTest();
    }, 30000);              
}); 

Либо

$(document).ready(function () {                
    showGraphTest();           
}); 


function showGraphTest() {
    ... 
    ...
    ...

    
    setTimeout(function(){
        showGraphTest();
    }, 30000);   
}
→ Ссылка
Автор решения: Alexey Ten

Дополню второй вариант из ответа Алексея Шиманского.

Можно написать короче:

$(function showGraphTest() {                
    // ... 
    
    setTimeout(showGraphTest, 30000);
});

$(func) это короткая запись для $(document).ready(func).

Функции-выражению можно задать имя которое будет доступно внутри этой функции, так что можно не объявлять функцию отдельно, если она больше нигде не используется.

→ Ссылка