繁体   English   中英

clearTimeout是否会终止aysnc XMLHttpRequest?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM