#javascript #epoch.js
Вопрос:
Я пытаюсь написать график в реальном времени с помощью Epoch.js используя websocket для получения данных. Моя текущая цель-позволить пользователю приостановить/воспроизвести график, нажав кнопку. Проблема в том, что реакция слишком медленная при нажатии кнопки.
Приведенный ниже код javascript показывает, что каждый раз при нажатии кнопки значение 1000 или 500 ставится и рисуется на временной диаграмме поочередно.
var ws = new WebSocket("ws://localhost:8000/publish");
var data = [
{ label: "Series 1", values: [] }
];
var lineChart = $('#graph').epoch({
type: 'time.line',
data: data,
axes: ['left', 'right', 'bottom']
});
var pushPoint = function(isplaying) {
ws.onmessage = function(msg) {
if(isplaying){
value=1000
}
else{
value=500
}
var current = [
{ time:time, y: value }
]
lineChart.push(current);
};
};
$('button').on('click', function(e) {
if (isplaying) {/* will pause */
$(e.target).text('play');
isplaying=false;
}
else { /* will play */
$(e.target).text('Pause');
isplaying=true;
}
pushPoint(isplaying)
}
(прошу прощения за беспорядочный код, так как я новичок в js)
Проблема в том, что значение на графике не изменится, как только будет нажата кнопка, что занимает 7-8 секунд, что слишком медленно.
Как я мог бы решить эту проблему? Любые советы будут приветствоваться. Спасибо.