代码之家  ›  专栏  ›  技术社区  ›  user405398

设置间隔和轮询之间的区别?

  •  2
  • user405398  · 技术社区  · 15 年前

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

    在AJAX中轮询是什么意思?

    关于这个问题的任何链接或资源都会在此刻更加感激!!!

    2 回复  |  直到 15 年前
        1
  •  5
  •   Theo    15 年前

    setInterval 设置重复计时器, setTimeout 设置只触发一次的计时器。轮询是指您反复请求某些内容,而不是等待通知。有时轮询是必要的,例如如果无法得到通知——在Ajax应用程序中经常是这样。两者 设置间隔 设置超时 可用于实现轮询,具体取决于要执行的操作。

    在定期向服务器发出请求的情况下,建议使用 设置超时 而不是 设置间隔 . 在执行请求的回调中,等待响应,然后使用 设置超时 . 如果你使用 设置间隔 请求延迟与间隔相当,那么您就有可能响应不正常。例如,计时器触发并且您发出请求,它需要比通常稍长的时间,因此在它再次返回计时器触发之前,您发出了一个新请求。现在您正在等待两个请求。最好等到第一个请求返回后再执行第二个请求。

        2
  •  1
  •   hvgotcodes    15 年前

    轮询是指定期对服务器执行ping操作,以查看是否准备就绪。用户发出的请求可能需要一些未指定的时间,但等待时间太长,因此您每x秒轮询一次服务器,以查看结果是否就绪。

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

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

    退房 http://www.w3schools.com/js/js_timing.asp

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