У меня есть слайдер, который отправляет свое значение на веб-сервер, используя следующую строку кода:
window.location = "http://172.20.2.1:83/trigger/1?" + value;
Этот код находится в моей функции TestSlider (значение), которая вызывается из события onchangeиз диапазона.
Проблема, конечно, когда я перемещаю ползунок, я отправляю огромные объемы данных на веб-сервер.
Я хотел бы создать буфер, который отправляет самое последнее значение.Я создал функцию таймера, которая на данный момент мне нравится, когда она запускается один раз в секунду.Он должен принимать открытую переменную Value и просто на мгновение записать ее в журнал.
Проблема, с которой я сталкиваюсь, заключается в том, что она все еще записывает огромные объемы данных в журнал, поэтому, конечно, это приведет к сбою моего веб-сервера.
Вот мой JavaScript:
//Put a timer in to work as buffer. This should stop the lpc crashing. I think its
//as a result of to much data.
var c=0;
var t;
var timer_is_on=0;
// Holy Smoke Hacked...liked a pro!
calculateHost();
var ip = getControllerIP();
var triggerNumber = 1;
var Value;
function timedCount()
{
//console.log("Timer Ticked: " + c + "URL : " + url); //Write tick value and url to log.
c=c+1; //Add 1 to tick value.
t=setInterval("timedCount()",10000); //Set the old interval.
console.log(c);
}
function doTimer()
{
timer_is_on=1;
timedCount();
}
function testSlider(value)
{
var url = (ip + "/trigger/" + triggerNumber + "?" + value);
//Removed because its it would be better to see when the timer is executing.
//console.log(url);
Value = value;
//Removed because we need a buffer.
//window.location = "http://172.20.2.1:83/trigger/1?" + value;
}