["Яблоко", "Апельсин", "Груша"].forEach((item, i) => {
console.log(item);
if ((i % 1) == 0) {
console.log("пауза 1 секунды");
sleep(1);
}
});
function sleep(sec) {
const end = Date.now() + sec * 1e3;
while (end > Date.now());
}
Вам нужен Master/Slave, реализовать его можно использовав:
- SharedWorker + fallback в localStorage и/или LocalConnection (Flash) — это если самому
- BNC Connector — theprivateland.com/bncconnector/home.htm
- Intercom.js — https://github.com/diy/intercom.js/ (работа с сокетами из коробки)
- Wormhole.js — https://github.com/RubaXa/wormhole (в разработке, demo)
arr.reduce((results, poll) => {
const name = poll.name.split(' ')[0];
if (!results[name]) {
const tmp = {[name]: []};
results.push(tmp);
results[name] = tmp[name];
}
results[name].push(poll.answers_count);
return results;
}, []);
arr.reduce((results, poll) => {
const name = poll.name.split(' ')[0];
!results[name] && (results[name] = []);
results[name].push(poll.answers_count);
return results;
}, {});
$('*').on('click', '[name="primer"]', ...
— ох,$('*').on('...')
— выбрать все элементы на странице и повесить на всех событие. При том, вы не просто вешаете событие, а используете делегирование. Если кратко, то делегирование используется, чтобы не вешать один обработчик на Х-элементов, а повесить один на контейнер и фильтровать цель по селектору:<div class="root">
<div class="inner">
<div class="deeper">
<div class="js-item">item 1</div>
<div class="js-item">item 2</div>
<div class="js-item">item 3</div>
</div>
</div>
</div>
$('*').on('click', '.js-item', function () {
console.log('Неправильно');
});
$('.root').on('click', '.js-item', function () {
console.log('Правильно');
});
$('.js-item:first').click(); // имитируем `click`
/**
Результат:
------
"Неправильно"
"Неправильно"
"Неправильно"
"Правильно"
"Неправильно"
"Неправильно"
**/