gpt4 book ai didi

JavaScript setInterval() 卡住了我的网站

转载 作者:行者123 更新时间:2023-12-02 07:21:30 25 4
gpt4 key购买 nike

我在我的 Raspberry Pi3 中安装了 Apache 以获取本地网站。我的 index.php 中有这个 JavaScript,我需要每 200 毫秒刷新一次:

function Function()
{
$.ajax({
url : 'variable.php',
data: {action: 'variable'},
type: 'post',
success: function(output){
document.getElementById("demo").innerHTML= output;
setInterval(Function(),200);
}
});
}

variable.php中,它只是一个命令的输出。

但是,在 2 分钟内,可用内存从 220 000 KiB 增加到 40 000 KiB,因此我的网站在 10 分钟后开始卡住,我必须关闭我的互联网并重新打开它。

怎么了?

最佳答案

它或多或少变成了一个无休止的递归问题,因为在 XHR 的每个回调中,您都在调用 Function(因为那里有括号,进行调用而不是引用)以及设置它每 200 毫秒调用一次。您应该只将引用传递给那里的函数,并改用 setTimeout()

setTimeout(Function, 200);

此外,Function 是一个错误的函数名称。它还会破坏 Function 构造函数。

关于JavaScript setInterval() 卡住了我的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44647237/

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