我在 Web 服务器上托管了一个很长的进程。该事件是通过用户单击按钮从网页触发的。一些 Javascript 通过 Ajax 定期轮询,以检查服务器端操作是否已完成。为此,我使用setInterval
,以及稍后clearInterval
停止轮询。
如果这花费的时间太长(例如服务器崩溃),我希望客户端能够收到某种超时通知。我做了一些研究并发现了setTimeout
。问题是,如果操作在超时之前成功完成,我想取消此操作。
- 这个怎么做 ?
- 您会建议采用不同的方法吗?
PS:我的目标是IE7/IE8特别是,但总是对某些人开放JQuery
只要将间隔的 id 存储在变量中,就可以随时使用它来清除间隔。
var interval = window.setInterval(yourFunction, 10000);
...elsewhere...
window.clearTimeout(interval);
欲了解更多信息,请参阅Mozilla 文档的 setInterval 示例.
组装一个快速的 JS Fiddle,其中包含Mozilla 示例的修改版本.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)