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