我的页面上有一个<div>
更新的日志条目每两分钟自动刷新一次。当我第一次加载我的网页时,我调用了以下函数。
function getLogs() {
var filter = $('#filter').val();
$.get("index-ajax.asp", { queryType: "getLogs", filter: filter,
uTime: new Date().getTime() },
function(data){
$("#logEntries").html(data);
window.setTimeout("getLogs()",120000);
});
}
我知道上面的代码可以更干净,window.setInterval(...);
但我只是喜欢window.setTimeout(...);
.
我的问题,是否可以取消下一次超时执行?如果我更改过滤器,我想取消下一次超时,并立即调用该函数,这将重新安排超时函数。有没有更好的方法来达到这个结果?
请注意,上面的代码是在 jQuery 中。