我想知道setInterval() (or) setTimeout() in DOM
之间的区别和polling in ajax
。主要区别是什么?如果两者相同,为什么用两个不同的名称来标识?
AJAX 中的轮询是什么意思?
目前有关此问题的任何链接或资源将更加感激!
最佳答案
setInterval
设置重复计时器,setTimeout
设置仅触发一次的计时器。轮询是指您反复请求某些内容而不是等待通知。有时轮询是必要的,例如,如果无法收到通知,这在 Ajax 应用程序中通常是这种情况。 setInterval
和 setTimeout
都可以用来实现轮询,具体取决于您想要做什么。
如果定期向服务器发出请求,建议使用 setTimeout
而不是 setInterval
。在回调中,您执行请求,等待响应,然后使用 setTimeout
设置新计时器。如果您使用 setInterval
并且请求延迟与间隔相当,那么您将面临响应乱序的风险。例如,计时器触发并且您发出请求,它需要比平常更长的时间,因此在返回之前计时器会再次触发,因此您发出新的请求。现在您正在等待两个请求。最好先等待第一个请求返回,然后再执行第二个请求。
关于ajax - setInterval 和轮询之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215996/