首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setInterval和Polling之间的区别?

setInterval和Polling之间的区别?
EN

Stack Overflow用户
提问于 2010-11-18 22:47:53
回答 2查看 610关注 0票数 2

我想知道setInterval() (or) setTimeout() in DOMpolling in ajax之间的区别。主要区别是什么?如果两者是相同的,为什么要用两个不同的名字来标识?

AJAX中的轮询是什么意思?

任何关于这个问题的链接或资源现在都会更受欢迎!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-18 22:52:19

setInterval设置重复计时器,setTimeout设置只触发一次的计时器。轮询是指您反复请求某件东西,而不是等待通知。有时,轮询是必要的,例如,当无法得到通知时--在Ajax应用程序中经常出现这种情况。setIntervalsetTimeout都可以用来实现轮询,具体取决于您想要做什么。

在定期向服务器发出请求的情况下,建议使用setTimeout而不是setInterval。在回调中,您执行请求,等待响应,然后使用setTimeout设置新的计时器。如果您使用setInterval,并且请求延迟与时间间隔相当,那么您可能会遇到响应顺序混乱的风险。例如,计时器触发,而你发出一个请求,它花费的时间比平时稍长一些,所以在它返回之前,计时器再次触发,所以你发出了一个新的请求。现在您正在等待两个请求。在执行第二个请求之前,最好等待第一个请求返回。

票数 5
EN

Stack Overflow用户

发布于 2010-11-18 22:50:54

轮询是指您定期对服务器执行ping操作,以查看是否有准备就绪的内容。用户可能已经发出了一个请求,这将花费一些未指定的时间,但是等待的时间太长了,所以您每隔x秒轮询服务器一次,看看结果是否准备好了。

setTimeout在指定的时间间隔后执行函数。

setInterval每次重复执行一个函数。

查看http://www.w3schools.com/js/js_timing.asp

您可以使用这两个函数来实现轮询方案,但它们绝对不同于轮询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4215996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档