Итак, я пытаюсь запрограммировать таймер, который будет выполняться каждые 1 час.Первый setInterval
должен получить список элементов из веб-API, затем следующий таймер будет выполняться каждую секунду, и в этом таймере вы будете проверять каждый элемент индивидуально и при необходимости делать еще один запрос.Этот второй таймер завершится, когда достигнет конца списка, и снова запустится в следующий час, когда выполняется первый setInterval
.Зачем мне в первую очередь 2 таймера?Ну, проще говоря, мне нужен второй, чтобы не нарушать лимит запросов API.
Мой взгляд на это выглядит примерно так:
setInterval(function ()
{
var counter = 0;
var returnCode;
var getUrl = "url";
returnCode = httpGet(getUrl);
var object = JSON.parse(returnCode);
function httpGet(url){
var response = requestSync(
'GET',
url, (err, res, body) => {
if(err)
{
return;
}
});
return response.body;
}
setInterval(function ()
{
//Do some more stuff with data here
if(!object || typeof object.data[counter] === 'undefined')
{
return; //this should end the second setInterval until the first one is activated again
}
counter++;
}, 1000);
}, 3600000);
Я знаю, что это не совсем так, потому что счетчик является локальной переменной, как и список, но у меня естьпонятия не имею, как заставить это работать иначе.Есть идеи?