javascript – 使用setInterval()进行简单的连续轮询

对于需要刷新以设置间隔呈现给用户的部分数据的简单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);
上一篇:javascript – jQuery – 如何在使用clearInterval将其终止后重新启动setInterval?


下一篇:javascript-setInterval调用中的参数之间的差异