[英]Does a clearTimeout abort an aysnc XMLHttpRequest?
我递归地调用一个函数,在该函数中,我从服务器请求更新信息。
这是调用函数:
function StartFeedUp() {
GetNextImage();
if (tmrStartFeedUp) window.clearTimeout(tmrStartFeedUp);
tmrStartFeedUp = setTimeout(StartFeedUp, 100);
}
这是被调用的函数:
var urlTS = '/Cloud/isNewFrames.ashx?alias=' + alias + '&version=' + version + '&guidlogon=' + guidlogon;
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", urlTS, true);
xmlhttp.send();
var nextts = xmlhttp.responseText;
//do something with info
当达到100ms的时间限制时,XMLHttpRequest是否中止,或者我还应该对其余调用使用超时吗?
clearTimeout
只会阻止再次调用该函数。 它不应阻止内部采取任何措施。 话虽如此,对于您的情况, clearTimeout
似乎不是很有用。 好像您将setTimeout
调用一个接一个地链接在一起,在这种情况下, clearTimeout
毫无用处,因为当您输入函数时,超时已被清除。
在您的情况下,我建议使用setInterval
而不是setTimeout
,并调用clearInterval
来中断函数调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.