Я создаю небольшую игру на JS, в которой происходит множество событий и часто одновременно (например, изменение элементов html или глобальных переменных js..)
Чтобы справиться с этим, я использую «setInterval», который зацикливается каждые 1 мс, чтобы просмотреть таблицу, есть ли что-то сделать («запросы»)
Я заполняю таблицу каждый раз, когда мне нужно что-то изменить на странице, но иногда мне нужно изменить несколько разных вещей одновременно.
Проблема в том, что он не обновляется одновременно, а задерживается, когда одновременно поступает 2,3 или более запросов. Я бы хотел, чтобы это было мгновенно, и если нужно выполнить два или более запроса одновременно, он должен делать это одновременно и не задерживать каждый запрос (пример запросов: обновление ширины элемента div в jQuery).
Спасибо за помощь.
var queue = {};
var fixedUpdate = setInterval(function() { //do all the requests in queue
$.each(queue, function(key, val) { //for each request present in the queue
//do something (requests are about updating display or some global variables)
/*...*/
//after completing the request we delete it from the queue
delete queue[key];
});
}, 1);
Подробнее здесь: https://stackoverflow.com/questions/327 ... -same-time