【发布时间】:2015-03-23 04:21:06
【问题描述】:
我正在使用节点和套接字 io 将 twitter 提要流式传输到浏览器,但是流太快了。为了减慢它的速度,我尝试使用 setInterval,但它要么只延迟流的开始(没有在推文之间设置均匀间隔),要么说我在广播时不能使用回调。服务器端代码如下:
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() 调用,您需要创建某种队列,或者通过暂停和恢复您的流。
标签: node.js twitter socket.io twitter-streaming-api