Я использую узел и сокет io для передачи твиттера в браузер, но поток слишком быстр. Чтобы замедлить работу, я пытаюсь использовать setInterval, но это либо задерживает начало потока (без установки равномерно интервалов между твитами), либо говорит, что я не могу использовать обратные вызовы при трансляции. Сервер код стороны ниже:Использование обратных вызовов с Socket IO
function start(){
stream.on('tweet', function(tweet){
if(tweet.coordinates && tweet.coordinates != null){
io.sockets.emit('stream', tweet);
}
});
}
io.sockets.on("connection", function(socket){
console.log('connected');
setInterval(start, 4000);
});
Ваша функция запуска прикрепляет слушателя к потоку. Когда слушатель подключен, сокет будет генерировать события так же быстро, как и их прием. Чтобы освободить ваши вызовы emit(), вам нужно создать какую-то очередь или приостановить и возобновить поток. –