Алексей.
Active member
@anthony3d Не могу понять немножко странный код.
в функции switchLED меняете значение переменной iCan на false и тут-же меняете iCan на true
между присваиванием false и true вызываете ajaxLoad которая никак её iCan не использует.
между присваиванием false и true проходит, я думаю, миллисекунда, может и меньше.
устанавливаете интервал на выполнение ajaxLoad в случае если iCan равен true, он почти всегда такой, вероятность поймать значение false ничтожна мала.
Если вы выключите esp на несколько секунд и на запросы ajax перестанут приходить ответы, очередной запрос подвиснет в ожидании, а установленный интервал будет раз секунду выполнять ajaxLoad и плодить новые подвисшие запросы.
в функции switchLED меняете значение переменной iCan на false и тут-же меняете iCan на true
Код:
function switchLED(chk) {
iCan = false;
if (chk.checked) {
ajaxLoad('LEDON');
switchState = true;
}
else {
ajaxLoad('LEDOFF');
switchState = false;
}
//console.log(switchState);
iCan = true;
}
между присваиванием false и true проходит, я думаю, миллисекунда, может и меньше.
Код:
window.setInterval(function(){
if (iCan) ajaxLoad('STATE');
}, 1000);
Если вы выключите esp на несколько секунд и на запросы ajax перестанут приходить ответы, очередной запрос подвиснет в ожидании, а установленный интервал будет раз секунду выполнять ajaxLoad и плодить новые подвисшие запросы.