javascript - jQuery .getJSON() 轮询内存泄漏
问题描述
我有一个显示一些统计数据的仪表板,直到现在它都是静态的,即如果我想要一个新数据,我必须刷新页面。从那以后,我开始使用 jquery 以更动态的方式在间隔内加载统计信息。它工作得很好,我不再需要刷新页面了。
但是,我注意到,如果我让页面打开一段时间,内存使用量会不断上升,而且没有停止的迹象。它从大约 50MB 开始,然后在几个小时(可能只有 1 个)后达到 1.2GB。刷新页面不会回收内存!
还有一个明显的问题......我做错了什么?
样品:
@app.route("/getstats")
def getstats():
return jsonify({'data': render_template('stats.html', stats=stats())})
<script type="text/javascript">
$(function poll() {
var isMenuClosed = document.querySelector('.mdl-menu__container.is-visible') == null;
if (isMenuClosed) {
$.getJSON('/getstats',
function(data) {
$("tbody#stats").empty().append(data.data);
componentHandler.upgradeDom();
});
$.getJSON('/getwidgets',
function(wdata) {
$("div#widgets").empty().append(wdata.data);
});
}
setTimeout(poll,5000);
return false;
});
</script>
我对 Python 尤其是 JavaScript 的了解非常有限。
解决方案
推荐阅读
- reactjs - 在转换错误期间对更新做出反应,我没有在渲染中更新状态
- angular - 并非所有代码路径都在 Typescript 和 Angular 9 中返回值
- amazon-web-services - CloudWatch 中的 AWS Canary 未向服务报告
- ruby-on-rails - 这个额外的参数是从什么影响我的控制器的?
- c# - 使用 PInvoke 更改窗口大小不会导致客户区更新
- python - Python中的回文仅对字符串进行操作
- html - 悬停时更改文本颜色
- c# - C# 创建多线程套接字服务器并选择客户端/连接
- r - R:一种基于另一个表中的值进行过滤的方法?
- azure - 需要帮助 SmartHotel 演示管道