Если я правильно понимаю ваш вопрос, вы можете структурировать свой код, как показано ниже.
Таким образом, вы можете вызывать функцию (например, doStuff()
) с регулярными 3-секундными интервалами через setTimeout(iteration, 3000);
, где iteration
- это функция, которая:
- вызывает ваш пользовательскийлогика приложения, которую вы хотите выполнить с интервалом в 3 секунды, и
- планирует следующую итерацию (т. е. произойдет через 3 секунды в будущем)
Этот шаблон также обеспечивает выполнение логикии сразу, и через 3 секунды после первого выполнения:
const doStuff = () => {
console.log(`Do stuff at ${Date.now()}`);
}
function updateItemsCache(){
/*
Define iteration function that invokes your
"stuff" logic
*/
const iteration = () => {
doStuff();
/*
Use setTimeout() to schedule the next iteration
at 3 seconds into the future (which will cause the
iteration to repeat on 3 second intervals)
*/
setTimeout(iteration, 3000);
}
/*
Start iteration which calls you "stuff" logic
immediately, and reschedules another iteration
*/
iteration();
}
updateItemsCache();