如果请求每200毫秒重复一次,如何只显示一次

How to show a request only one time if it repeat in every 200 milliseconds?

本文关键字:一次 显示 请求 如果 200毫      更新时间:2023-09-26

我有一些PHP数据,这些数据是用JSON格式编码的。我已经通过使用jQuery的getJSON使用了该数据。我的代码如下:

$(document).ready(function(){
    setTimeout(done,200);
});
function done() {
    setTimeout(updates, 200); // Call updates in 200ms
}
function updates(){
    $.getJSON("phpdata.php", function(data) {
        //some action..
    });
}  

phpdata.php是保存JSON编码数据的文件。现在,正如您所看到的,我有一些函数,每200毫秒更新一次$.getJSON。我这样做是为了在不刷新/重新加载页面的情况下从数据库中获取对网站上数据的更改。我知道这对我的工作很好,但如果可能的话,我只有一件事想改变。

当我每200毫秒使用getJSON发出一个请求时,当我检查"开发人员工具"的"网络"选项卡时,我可以看到请求每200毫秒重复一次,我觉得这有点奇怪。

我不知道这对网站或浏览器是否有害。如果它不会妨碍网站和用户浏览器,那也没关系,但如果它妨碍了,那怎么办?如果是这样的话,我可以在创建新请求后自动删除旧请求吗?

我真的不明白为什么每200毫秒?!也许有点过分?然而,像外汇追踪器这样的东西会成为一个合理的用例。

不过,我建议您使用不同的技术:WebSockets

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications

http://socket.io/

附言:网络标签会准确显示你在做什么,即每200毫秒发出一次请求。您无法将其缩小为1个条目。