我的网页中有一个字段 A,当用户编辑该字段时,会调用 API 调用(使用 jQuery),更新字段 B。编辑后,应每 10 秒调用一次 API 以更新又是B场。我目前使用:
setTimeout(thisFunction, 10000);
问题是每次用户编辑字段 A 时都会设置此超时,这在编辑字段 A 几次后会导致多次设置超时和多次调用 API。这使网站看起来压力很大。
我更愿意做的是,每次编辑字段时设置一个新的超时,无论是通过用户编辑字段 A,还是通过达到 10 秒的间隔,从而轮询 API。换一种说法;如果字段 B 在 10 秒或更长时间内未更新,则应更新该字段。
最后,如果用户随后点击按钮 C,轮询应该停止。
所以我的问题;如果字段 B 未更新 10 秒或更长时间,我如何运行函数来更新字段 B 以及如何在我想停止轮询时(当用户单击另一个按钮时)欢迎所有提示!
最佳答案
可以使用 clearTimeout 取消计时器,因此:
var timer = null;
if (timer) {
clearTimeout(timer); //cancel the previous timer.
timer = null;
}
timer = setTimeout(thisFunction, 10000);
关于javascript - 如何在 Javascript/jQuery 中重置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181661/