当前位置: 首页 > 面试题库 >

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

贝洲
2023-03-14
问题内容

对于需要刷新以设置的时间间隔呈现给用户的部分数据的简单Web应用程序,仅使用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使用setInterval()函数实现简单轮询操作的方法,包括了JavaScript使用setInterval()函数实现简单轮询操作的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript使用setInterval()函数实现简单轮询操作的方法。分享给大家供大家参考。具体分析如下: 轮询(Polling)是一种CPU决策如何提供周边设备

  • 我正在用JMS制作一个简单的聊天应用程序,但我的代码不起作用,我不知道为什么。这是我的代码,我与JBoss一起使用,所以我打开pub并编写了这段代码,当我单击启动Eclipse时,给我以下错误消息:

  • 在爬虫开发中我们经常会遇到一种反爬虫的手段就是验证码,那么如何才能绕过验证码拿到我们想要的数据呢?这节课我给大家介绍一个破验证码的利器–Pytesseract。 Pytesseract 是 Python 中专门用来识别验证码和字符的常用第三方模块,它是一个根据 Google 开发的 Tesseract 包进行独立封装的产物。由于它在识别验证码方面具有得天独厚的优势,所以经常被爬虫开发程序员用来进行

  • 问题内容: 我有一个文件列表,我想从Android设备上传到后端。由于内存的限制,我只想在第一个完成后进行第二个API调用,第二个完成后进行第三个API调用,依此类推。 我写了类似 但是我觉得这可能与Rx的精神背道而驰,俗话说,如果您使用的是Observable.create,则可能做错了……这是一种合理的方法吗?通过Retrofit的RxJava集成,是否有更好的方法来实现此目的? 问题答案:

  • 问题内容: 所以,我有一张表,上面有这样的行: 每次扫描警报时(即每次触发或清除警报时)都会添加“已扫描的警报”行。任何警报都会添加带有特定Ev_Custom1的行。第一列Ev_Message包含一个计算机ID,该ID使我可以将警报与其他计算机分开。(您不喜欢任意的列名吗?)超过900条独特的警报消息。 我希望查询返回的内容是这样的: 这将是两个日期之间过滤的查询。我可以更改进入表的数据,但是有9

  • 问题内容: 对于需要快速刷新数据的应用程序,使用JavaScript轮询服务器的最佳实践是什么?我将jQuery用于前端,将Java Spring Framework用于后端。 刷新数据的示例可以是很快(每1秒)更新一次的项目列表。 问题答案: 您可能想使用jQuery的Ajax函数每秒钟左右轮询一次服务器。然后,服务器可以近乎实时地向浏览器发出指令响应。 您也可以考虑使用长轮询而不是上面的方法,