我有一个条件,必须在XMLHttpRequest使用之前和之后保留,但不能在。例如:
var running = false; // condition
function go (callback)
{
running = true; // condition broken
var http = new XMLHttpRequest ();
http .open ("GET", url, true);
http .onreadystatechange = function ()
{
if (4 == this .readyState)
{
try
{
callback (this .responseText);
}
catch (e) {}
running = false; // condition restored
}
}
}
无论running
如何播放,我都需要保证false
最终永远变为XMLHttpRequest
。
这是否足够或我是否需要检查其他可能性?
答案 0 :(得分:1)
看起来这个检查已经足够了(http://www.w3.org/TR/XMLHttpRequest/)。如果数据传输已完成或传输过程中出现错误,则readyState为4。
确保为超时设置了一些合理的值(默认值为0,即没有超时)。