Если я создаю первый setInterval, который передает каждую 1 миллисекунду элемент в моем массиве, а затем у меня есть еще один setInterval (каждую секунду), который копирует этот массив и сбрасывает его (исходный).
Буду ли я уверен, что не стираю данные?так как первый интервал записывает каждую 1 миллисекунду, а второй интервал сбрасывает массив каждую секунду?
Вот jsfiddle http://jsfiddle.net/t1d20usr/
var data = [];
var i = 0;
var interval = setInterval(function() {
data.push(i);
i++;
if(i== 10000) {
clearInterval(interval);
}
}, 1);
setInterval(function() {
var recentData = data;
//i want to be sure that this will not erase something set between the set of recentData and the reset of this array
data = [];
$('.container').append(recentData.join(',')');
}, 1000);
Работает отлично, но из-залогика, интересно, иногда я могу потерять данные.
Почему я это делаю?Потому что я получаю много запросов от разных клиентов (генерирует сокеты), и я хочу передавать их другим клиентам только один раз в секунду вместо широковещательной рассылки по каждому излучению от каждого излишнего клиента.Это похоже на работу многопользовательских игровых серверов.(Мой jsfiddle и интервалы - это пример для имитации запросов, я не делаю это так! В конце концов я получу испускания через разные интервалы и буду транслировать их каждые 30 мс или около того)