ajax - setInterval 和轮询之间的区别?

标签 ajax dom dwr

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

AJAX 中的轮询是什么意思?

目前有关此问题的任何链接或资源将更加感激!

最佳答案

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

如果定期向服务器发出请求,建议使用 setTimeout 而不是 setInterval。在回调中,您执行请求,等待响应,然后使用 setTimeout 设置新计时器。如果您使用 setInterval 并且请求延迟与间隔相当,那么您将面临响应乱序的风险。例如,计时器触发并且您发出请求,它需要比平常更长的时间,因此在返回之前计时器会再次触发,因此您发出新的请求。现在您正在等待两个请求。最好先等待第一个请求返回,然后再执行第二个请求。

关于ajax - setInterval 和轮询之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215996/

相关文章:

javascript - postman 如何发送请求? ajax,同源策略

jquery - 在 jquery 中访问 xhr 的 json 响应

javascript - waitForKeyElements 不等待某些浏览器上的 ajax 加载数据?

javascript - 如何使用 react enzyme 检查实际的 DOM 节点

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

javascript - 在ajax函数中返回更少

javascript - 向上遍历,然后向下遍历 DOM

java - 从 JSP 与 DWR 管理的对象进行交互

java - 如何在服务器响应上写入文件对象而不在服务器上保存文件?

java - 替代 DWR