gpt4 book ai didi

Javascript内部函数内存泄漏?

转载 作者:行者123 更新时间:2023-11-28 02:46:39 25 4
gpt4 key购买 nike

我最近一直在使用 Javascript,但实际上我并不是很熟练。我正在尝试找出内存泄漏的原因,因为我的内存使用量似乎在稳步增加。对于可能导致这种情况的原因,我的一个想法是使用内部函数。我在处理 XMLHTTPRequests(和其他相关对象)时使用内部函数,并且这些请求每隔几秒就会创建一次。我觉得也许我没有正确关闭它或其他什么。因此,这是内部函数之一的一些代码,如果有人能告诉我这是否是问题所在以及如何解决它,那就太好了。 (这是在IE环境下,我不知道也无法查明在其他浏览器中是否会发生这种情况)。

    me.request.open("GET", url, true);
me.request.onreadystatechange = onReadyStateChange;
me.request.send();

function onReadyStateChange() {
if (4 == me.request.readyState) {
if (me.request.status == 200) {
var results = me.request.responseText;
var resultsString = me.request.responseText.toString();
me.stringOperation(resultsString);
me.request.abort();
me.request = null;
} else {
me.request.abort();
me.request = null;
}
}
}

最佳答案

添加

function noop() {}

然后在onReadyStateChange中,在me.request = null之后,me.request.onreadystatechange = noop

这会删除 meonReadyStateChange 之间跨越 JS 对象/主机对象屏障的循环引用。

关于Javascript内部函数内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4785894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com