Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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_Long Polling - Fatal编程技术网

最佳实践:Javascript中运行很长时间的轮询过程?

最佳实践:Javascript中运行很长时间的轮询过程?,javascript,long-polling,Javascript,Long Polling,我正在开发一个触摸屏信息亭应用程序,它将部署在最新版本的Chrome上 应用程序需要每隔10分钟左右对web服务进行AJAX调用,以浏览任何更新的内容 由于它是一个kiosk应用程序,因此页面不太可能经常重新加载,理论上,除非kiosk关闭,否则应用程序可能一次运行数天 我想我关心的是内存的使用情况,而一个长时间运行的setTimeout循环是否会占用大量内存,则需要足够的时间 我目前正在考虑使用Web Workers,我还将研究Web套接字,但我想知道是否有人有过这方面的经验 干杯, Terr

我正在开发一个触摸屏信息亭应用程序,它将部署在最新版本的Chrome上

应用程序需要每隔10分钟左右对web服务进行AJAX调用,以浏览任何更新的内容

由于它是一个kiosk应用程序,因此页面不太可能经常重新加载,理论上,除非kiosk关闭,否则应用程序可能一次运行数天

我想我关心的是内存的使用情况,而一个长时间运行的setTimeout循环是否会占用大量内存,则需要足够的时间

我目前正在考虑使用Web Workers,我还将研究Web套接字,但我想知道是否有人有过这方面的经验

干杯,
Terry

浏览器有一个垃圾收集器,因此在这方面没有问题。只要您不通过坏代码引入内存泄漏。以下是关于内存泄漏模式的详细信息。这应该让你开始学习如何高效地编程,并拍摄那些泄露的代码

也要考虑DOM。SO中的一个人曾经说过“不在屏幕上的东西应该被删除,而不仅仅是隐藏”——这不仅可以从视图中删除实体,而且实际上可以从DOM中删除实体,删除它的处理程序,并释放它使用的内存

至于setTimeout,请延长调用之间的间隔。太快了,你会很快地消耗掉内存(并使页面变得非常…滞后)。我刚刚测试了基于计时器的“hashchange”检测代码,即使在chrome上,它也会使页面速度变慢

研究chrome的漏洞并保持更新