gpt4 book ai didi

javascript - $(document).ready + setInterval = 多个实例运行

转载 作者:行者123 更新时间:2023-11-28 19:47:44 24 4
gpt4 key购买 nike

我的网络应用程序当前使用它来启动客户端的通知检索:

$(document).ready( getNotifications() );

这很棒,但我需要它每 XXX 秒运行一次,因此我在 getNotifications() 末尾添加了一个 setInterval 计时器,此处:

function getNotifications() {

//(do stuff)

//now repeat every X seconds (10000 = 10s)
setInterval(getNotifications, 30000);
}

问题——这样做似乎会触发计时器循环函数的多个实例。使用alert(),我可以看到每个计时器周期都会创建一个设置为计时器的新实例,而不是所需的同一实例的迭代。

如何在没有多个实例的情况下为我的功能获取计时器/循环?

谢谢!

最佳答案

setInterval更改为setTimeout

setInterval 保持每 X 毫秒触发一次,setTimeout 在 x 毫秒后触发一次

并且您不希望 document.ready 中包含 ()。它正在调用 getNotifications,而不是为其分配引用。

function getNotifications() {
window.setTimeout(getNotifications, 30000);
}
$( getNotifications );

关于javascript - $(document).ready + setInterval = 多个实例运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004950/

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