Не срабатывает метод вызываемый в таймере
var inc = 0
function setSitesList() {
console.log("site #" + inc)
console.log(sites.length)
if (sites.length == 0) return;
for (var i = 0; i < sites.length; i++) {
if (i > 999) break;
sitesList.push(sites.shift())
}
var interval = sitesList.length
for (var i = 0; i < interval; i++) {
sitesList.shift()
}
inc++
}
async function checkArray(
) {
if (sitesList.length == 0) {
setTimeout(setSitesList, 2000)
}
await setTimeout(200 * Math.random());
}
Кусок кода с вызовом checkArray вырезан, не думаю что есть смысл его добавлять, там всё отрабатывает хорошо.
Не срабатывает метод в таймере, т.е по сути после того как в массив sitesList будет пустым, он должен запускать таймер и через некоторое время вызывать метод setSitesList, но почему-то не вызывает, сам таймер работает, но метод не вызывается.
Цель сделать такой метод, который бы удалял значения из одного массива, помещал их в другой, и была задержка, для повтора этого всего, пока в первом массиве не закончатся данные. Если делать без задержки, то всё получается, а вот с таймером не отрабатываем почему то, в чем может быть причина, помогите пожалуйста