javascript - Setinterval 一次触发多次
问题描述
我有一个应用程序,我想每 5 秒检查一次 URL,所以我使用以下代码:
<script>
function checknow()
{
$.get( "https://example.com", function(data) {
console.log(data);
});
}
setInterval(function(){
console.log("time started...");
checknow();
}, 5000);
</script>
它在我的一台计算机上工作正常,但在另一台计算机上,它每 5 秒检查一次,但在 1 分钟后.. 30 秒内没有调用函数,突然一次调用函数 6 次。由于它是随机发生的,我无法调试。我有 50 个客户,只有大约 5 个客户报告这个问题。
有什么问题setInterval
吗,或者有什么替代方法吗?
Ps:当我检查这个时,网页处于前台并处于活动状态。
解决方案
您可以使用它setTimeout
来更好地控制请求之间的时间。
function checknow(){
$.get("https://example.com", function(data) {
console.log(data);
setTimeout(checknow, 5000);
});
}
checknow();
推荐阅读
- python - 如何将下面显示的 excel 函数转换为 python pandas 代码?
- delphi - 是否有可能找出连接是否被计量?
- python - 使用 Matplotlib 和 Python 绘制两个直方图
- python - 如何从 html 页面中排除内容并仅保留 html 标签?
- ios - UINavigationItem 在 UINavigationBar 后面
- apache-spark - 如何为具有多个分区的 Kafka 主题启动多个消费者?
- php - 无法在 NGNIX 的服务器端生成 pdf
- laravel - 调度操作后获取 vuex 存储状态
- firebase - firebase admin nodejs 上的错误需要权限 iam.serviceAccounts.signBlob
- go - 如何在特定数据量中写入文件