Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在客户端处理大型数据集_Javascript_Node.js_Stream_Server Sent Events - Fatal编程技术网

Javascript 在客户端处理大型数据集

Javascript 在客户端处理大型数据集,javascript,node.js,stream,server-sent-events,Javascript,Node.js,Stream,Server Sent Events,我正在尝试构建一个应用程序,使用它在UI上获取和显示一些tweet(最新的50-100条tweet) SSE的Url: 问题: 我的用户界面变得没有响应,因为有大量数据进入 如何确保我的UI响应良好?我通常应该采取什么策略来确保处理数据 当前设置:(为了更清楚地了解我试图实现的目标) 目前我有一个Max堆,它有一个自定义的比较器来显示最近50条tweet 每次发生更改时,我都会使用新的max heap数据重新呈现页面 我们不应该让EventSource保持打开状态,因为如果在短时间内发送

我正在尝试构建一个应用程序,使用它在UI上获取和显示一些tweet(最新的50-100条tweet)

SSE的Url:

问题:

  • 我的用户界面变得没有响应,因为有大量数据进入
  • 如何确保我的UI响应良好?我通常应该采取什么策略来确保处理数据
当前设置:(为了更清楚地了解我试图实现的目标)

  • 目前我有一个Max堆,它有一个自定义的比较器来显示最近50条tweet
  • 每次发生更改时,我都会使用新的max heap数据重新呈现页面

我们不应该让EventSource保持打开状态,因为如果在短时间内发送太多消息,这将阻塞主线程。相反,我们只应该保持事件源的开放时间,只要它需要获得50-100条推文。例如:

函数getLatestTweets(限制){
返回新承诺((解决、拒绝)=>{
设项目=[];
let source=new EventSource('https://tweet-service.herokuapp.com/stream');
source.onmessage=({data})=>{
如果(限制-->0){
items.push(JSON.parse(data));
}否则{
//一旦我们达到规定的限制,就解决此承诺
解决(项目);
source.close();
}
}
});
}
getLatestTweets(100)。然后(e=>console.log(e))