我正在为带有内置 Web 服务器的小型嵌入式设备构建新功能。它有一个基于 Web 的基本界面,带有 Javascript AJAX。我今天遇到了一个问题,我有一个 setInterval 每 500 毫秒调用一次 AJAX 轮询函数,但是在 XHR 监控的 Firebug 中,我会看到很多“中止”。当嵌入式端发生变化时,Web UI 似乎无法可靠地更新。我还在 Firebug 中注意到 XHR 加载将花费接近 500 毫秒。我将 AJAX 轮询频率更改为 1000 毫秒,从而解决了问题。但是如果我的分析是正确的,如果嵌入式端开始花费接近 1000 毫秒来加载,问题可能会再次发生。
所以我的问题是,有没有办法确定最佳轮询频率;您希望尽可能频繁地更新 UI,但又不想使服务器重载(在我的情况下,这很慢且有限)。在 Firebug XHR 网络 View 中,“中止”实际上意味着什么?
谢谢,
弗雷德
最佳答案
不要使用 setInterval,在得到响应后用 setTimeout 发起另一个请求。
关于javascript - AJAX - 如何确定最佳轮询频率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4580508/