У меня следующая проблема: в моей функции с setInterval()
и setTimeout()
я повторяю действие с шагом i
бесконечно. Из-за задержки setInterval или setTimeout (я думаю, что это последнее), через некоторое время скрипт перестает работать корректно, одновременно выполняется несколько задач.
Скрипт используется в WhatsApp Web для кликов по первым 16 контактам, для каждой проверки онлайн статуса. Затем он печатает журнал, если контакт в сети. Проблема заключается в следующем: через некоторое время (3 часа или около того) интервал повторяется до завершения старой функции. Поэтому я получаю 14,1,15,2,16,3,1,4 ... вместо 1,2,3,5 ...
setInterval(function () {
function writeNext(i) {
if (i == 17)
return;
setTimeout(function () {
writeNext(i + 1);
selectContact(`${i}`)
if (document.getElementsByClassName("O90ur")[0] !== undefined) {
var online = document.getElementsByClassName("O90ur")[0].innerHTML
if (online == "online") {
console.log(`${i-1}`)
};
}
}, 1250);
}
writeNext(1);
}, 20000);