Обработка данных WebSocket быстрее - PullRequest
0 голосов
/ 06 ноября 2019

Итак, я получаю свои данные (в формате 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;
}

Я не могу сказать, как работает веб-сокет на стороне сервера, поэтому мне интересно, есть ли способ сэкономить лишнюю миллисекунду или две, или еслиэто в основном то, что я могу сделать с точки зрения эффективности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...