目前我用它来防止错误:
var xhr = new XMLHttpRequest();
try {
xhr.timeout = 5e3;
xhr.addEventListener('timeout', reqListener);
} catch(e){}
当然,当浏览器不支持时,这只是删除了超时功能。我试过了:
if (typeof xhr.timeout !== 'number') {
xhr.addEventListener('abort', reqListener, false);
setTimeout(function(){
xhr.abort()
},5e3);
} else {
xhr.timeout = 5e3;
xhr.addEventListener('timeout', reqListener);
}
有更好的方法吗?