对于需要刷新以设置的时间间隔呈现给用户的部分数据的简单Web应用程序,仅使用setInterval()从端点获取JSON而不使用适当的轮询框架是否有任何弊端?
出于示例的原因,可以说我每5秒刷新一次处理作业的状态。
根据我的评论:
我将使用setTimeout [docs] 并始终在收到上一个响应时调用它。这样,在请求/响应花费的时间超过间隔时间的情况下,可以避免可能的拥塞或函数堆栈或任何您想调用的函数。
setTimeout
所以像这样:
function refresh() { // make Ajax call here, inside the callback call: setTimeout(refresh, 5000); // ... } // initial call, or just call refresh directly setTimeout(refresh, 5000);