Итак, я получаю свои данные (в формате JSON) из веб-сокета сайта. Это работает, но проблема в том, что обработка этих данных не так эффективна, как мне бы хотелось (важна каждая миллисекунда). В настоящее время мой обработчик выглядит следующим образом:
var events_channel = pusher.subscribe('changes');
const eventsQueue = [];
events_channel.bind('channel1', function(data)
{
eventsQueue.push(data);
handleNewEvent();
});
events_channel.bind('channel2', function(data)
{
eventsQueue.push(data);
handleNewEvent();
});
let processingEvent = false;
function handleNewEvent()
{
if(processingEvent){return;}
processingEvent = true;
const eventData = eventsQueue.shift();
if(!eventData){processingEvent = false; return;}
//Parse the data and do some other stuff with it
processingEvent = false;
handleNewEvent();
return;
}
Я не могу сказать, как работает веб-сокет на стороне сервера, поэтому мне интересно, есть ли способ сэкономить лишнюю миллисекунду или две, или еслиэто в основном то, что я могу сделать с точки зрения эффективности.