Estoy tratando de escribir un gráfico en tiempo real con Epoch.js usando websocket para obtener datos. Mi objetivo actual es permitir al usuario pausar/reproducir el gráfico presionando el botón. El problema es que la respuesta es demasiado lenta al pulsar el botón.
El código javascript a continuación muestra que cada vez que se presiona el botón, el valor 1000 o 500 se coloca y se dibuja en el gráfico de tiempo alternativamente.
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) }(Discúlpese por el código desordenado ya que soy nuevo en js) El problema es que el valor en el gráfico no cambiará tan pronto como se presione el botón, lo que demora entre 7 y 8 segundos, es demasiado lento. ¿Cómo podría solucionar este problema? Cualquier consejo sería bienvenido. Gracias.